|
|
# Общее контрольное задание
|
|
|
|
|
|
Зеленкина Катерина, А-02-23
|
|
|
|
|
|
## Задание
|
|
|
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
|
|
|
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
|
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
|
3. Записывается кортеж в бинарный файл.
|
|
|
4. Записывается в этот же файл список и закрывается файл.
|
|
|
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
|
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее со-общение.
|
|
|
7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде от-дельных списков со своими именами.
|
|
|
|
|
|
## Решение
|
|
|
```py
|
|
|
# Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
|
import random
|
|
|
n = list(range(1, 126, 1))
|
|
|
print(n)
|
|
|
tup = ()
|
|
|
for i in n:
|
|
|
tup = tuple(tup + (random.randint(6, 56),))
|
|
|
str_tup = tuple(map(str, tup))
|
|
|
print(str_tup)
|
|
|
|
|
|
# Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассни
|
|
|
surname = ["Криви", "Киреев", "Капитонов", "Ефремов", "Добровольска"]
|
|
|
print("Список фамилий:", surname)
|
|
|
|
|
|
|
|
|
# Записать кортеж в бинарный файл.
|
|
|
import os
|
|
|
import pickle
|
|
|
os.chdir(r"C:\Users\user\python-labs\TEMA6")
|
|
|
a = open('bin.mnz', 'wb')
|
|
|
pickle.dump(str_tup, a)
|
|
|
|
|
|
# Записывается в этот же файл список и закрывается файл.
|
|
|
pickle.dump(surname, a)
|
|
|
a.close()
|
|
|
|
|
|
# Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
|
a = open('bin.mnz', 'rb')
|
|
|
obj1 = pickle.load(a)
|
|
|
obj2_spis = pickle.load(a)
|
|
|
a.close()
|
|
|
print("Прочитан кортеж:", obj1)
|
|
|
print("Прочитан список:", obj2_spis)
|
|
|
|
|
|
# Проверяется на совпадение новых объектов с исходными и выводится соответствующее со-общение.
|
|
|
if obj1 == str_tup and obj2_spis == surname:
|
|
|
print("Объекты совпадают с исходными!")
|
|
|
else:
|
|
|
print("Объекты не совпадают с исходными!")
|
|
|
|
|
|
# Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
|
|
l = []
|
|
|
for i in range(0, 125, 5):
|
|
|
l.append(list(str_tup[i:i + 5]))
|
|
|
for i in range(25):
|
|
|
print(f"list{i + 1} = {l[i]}")
|
|
|
|
|
|
#Вывод
|
|
|
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125]
|
|
|
('51', '15', '35', '44', '37', '38', '46', '47', '22', '35', '13', '16', '23', '51', '11', '30', '39', '30', '17', '55', '37', '30', '27', '34', '50', '52', '48', '13', '42', '21', '30', '40', '44', '27', '15', '7', '50', '32', '27', '52', '32', '17', '8', '35', '25', '29', '22', '28', '25', '53', '47', '52', '20', '33', '7', '44', '9', '41', '53', '35', '45', '27', '34', '42', '21', '52', '55', '21', '25', '21', '43', '18', '51', '15', '7', '46', '36', '34', '9', '41', '20', '39', '26', '23', '33', '32', '8', '24', '37', '19', '52', '46', '52', '49', '19', '41', '6', '30', '37', '36', '33', '40', '41', '33', '19', '45', '35', '28', '53', '44', '40', '54', '33', '7', '30', '44', '39', '15', '49', '16', '32', '13', '7', '24', '47')
|
|
|
Список фамилий: ['Криви', 'Киреев', 'Капитонов', 'Ефремов', 'Добровольска']
|
|
|
Прочитан кортеж: ('51', '15', '35', '44', '37', '38', '46', '47', '22', '35', '13', '16', '23', '51', '11', '30', '39', '30', '17', '55', '37', '30', '27', '34', '50', '52', '48', '13', '42', '21', '30', '40', '44', '27', '15', '7', '50', '32', '27', '52', '32', '17', '8', '35', '25', '29', '22', '28', '25', '53', '47', '52', '20', '33', '7', '44', '9', '41', '53', '35', '45', '27', '34', '42', '21', '52', '55', '21', '25', '21', '43', '18', '51', '15', '7', '46', '36', '34', '9', '41', '20', '39', '26', '23', '33', '32', '8', '24', '37', '19', '52', '46', '52', '49', '19', '41', '6', '30', '37', '36', '33', '40', '41', '33', '19', '45', '35', '28', '53', '44', '40', '54', '33', '7', '30', '44', '39', '15', '49', '16', '32', '13', '7', '24', '47')
|
|
|
Прочитан список: ['Криви', 'Киреев', 'Капитонов', 'Ефремов', 'Добровольска']
|
|
|
Объекты совпадают с исходными!
|
|
|
list1 = ['51', '15', '35', '44', '37']
|
|
|
list2 = ['38', '46', '47', '22', '35']
|
|
|
list3 = ['13', '16', '23', '51', '11']
|
|
|
list4 = ['30', '39', '30', '17', '55']
|
|
|
list5 = ['37', '30', '27', '34', '50']
|
|
|
list6 = ['52', '48', '13', '42', '21']
|
|
|
list7 = ['30', '40', '44', '27', '15']
|
|
|
list8 = ['7', '50', '32', '27', '52']
|
|
|
list9 = ['32', '17', '8', '35', '25']
|
|
|
list10 = ['29', '22', '28', '25', '53']
|
|
|
list11 = ['47', '52', '20', '33', '7']
|
|
|
list12 = ['44', '9', '41', '53', '35']
|
|
|
list13 = ['45', '27', '34', '42', '21']
|
|
|
list14 = ['52', '55', '21', '25', '21']
|
|
|
list15 = ['43', '18', '51', '15', '7']
|
|
|
list16 = ['46', '36', '34', '9', '41']
|
|
|
list17 = ['20', '39', '26', '23', '33']
|
|
|
list18 = ['32', '8', '24', '37', '19']
|
|
|
list19 = ['52', '46', '52', '49', '19']
|
|
|
list20 = ['41', '6', '30', '37', '36']
|
|
|
list21 = ['33', '40', '41', '33', '19']
|
|
|
list22 = ['45', '35', '28', '53', '44']
|
|
|
list23 = ['40', '54', '33', '7', '30']
|
|
|
list24 = ['44', '39', '15', '49', '16']
|
|
|
list25 = ['32', '13', '7', '24', '47']
|
|
|
``` |