Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

75 строки
4.1 KiB
Markdown

# Общее контрольное задание по теме 6
Подольский Никита, А-01-23
## Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
·       Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
·       Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
·       Записывается кортеж в бинарный файл.
·       Записывается в этот же файл список и закрывается файл.
·       Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
·       Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
·       Разделяется кортеж на  совокупности по 5 чисел в каждой и они записываются  в виде отдельных списков со своими именами.
## Решение
``` python
import random
import pickle
# фиксируем сид
SEED = 12345
random.seed(SEED)
rn = tuple(str(random.randint(6, 56)) for i in range(125))
print(rn)
spis = ["Podolsky", "Bushmanov", "Terehov", "Melnikov", "Zhalnin"]
fp = open('data.bin', 'wb')
pickle.dump(rn, fp)
pickle.dump(spis, fp)
fp.close()
fp = open('data.bin', 'rb')
rn1 = pickle.load(fp)
print(rn1)
spis1 = pickle.load(fp)
fp.close()
if rn == rn1:
print("Переменные rn и rn1 совпадают")
else:
print("Переменные rn и rn1 не совпадают")
if spis == spis1:
print("Переменные spis и spis1 совпадают")
else:
print("Переменные spis и spis1 не совпадают")
# разбиение кортежа на списки по 5 элементов
for i in range(0, 125, 5): # идём по кортежу шагом 5
chunk = list(rn1[i:i+5])
exec('list' + str(i // 5 + 1) + ' = chunk')
print(list1)
print(list2)
print(list5)
('32', '52', '6', '25', '29', '18', '23', '42', '33', '16', '29', '13', '33', '22', '41', '46', '17', '45', '41', '17', '28', '53', '52', '11', '39', '53', '32', '43', '38', '16', '15', '19', '52', '10', '18', '27', '26', '7', '35', '27', '7', '38', '50', '53', '32', '6', '6', '48', '16', '55', '43', '17', '24', '12', '47', '32', '12', '49', '42', '17', '53', '30', '20', '39', '44', '51', '27', '8', '20', '13', '37', '19', '53', '54', '41', '48', '17', '22', '43', '33', '39', '14', '8', '16', '25', '6', '15', '20', '28', '40', '27', '16', '30', '26', '6', '9', '9', '51', '34', '11', '30', '17', '56', '6', '55', '51', '29', '19', '49', '38', '54', '13', '36', '45', '9', '6', '46', '37', '26', '55', '45', '32', '41', '18', '29')
('32', '52', '6', '25', '29', '18', '23', '42', '33', '16', '29', '13', '33', '22', '41', '46', '17', '45', '41', '17', '28', '53', '52', '11', '39', '53', '32', '43', '38', '16', '15', '19', '52', '10', '18', '27', '26', '7', '35', '27', '7', '38', '50', '53', '32', '6', '6', '48', '16', '55', '43', '17', '24', '12', '47', '32', '12', '49', '42', '17', '53', '30', '20', '39', '44', '51', '27', '8', '20', '13', '37', '19', '53', '54', '41', '48', '17', '22', '43', '33', '39', '14', '8', '16', '25', '6', '15', '20', '28', '40', '27', '16', '30', '26', '6', '9', '9', '51', '34', '11', '30', '17', '56', '6', '55', '51', '29', '19', '49', '38', '54', '13', '36', '45', '9', '6', '46', '37', '26', '55', '45', '32', '41', '18', '29')
Переменные rn и rn1 совпадают
Переменные spis и spis1 совпадают
['32', '52', '6', '25', '29']
['18', '23', '42', '33', '16']
['28', '53', '52', '11', '39']
```