# Общее контрольное задание по теме 5 ## Задание: - Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк. - Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. - Записывается кортеж в бинарный файл. - Записывается в этот же файл список и закрывается файл. - Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. - Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. - Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами. ## Решение: ``` import random import pickle rn = tuple(str(random.randint(6, 56)) for i in range(125)) print(rn) ('22', '53', '30', '47', '19', '13', '50', '11', '45', '30', '9', '20', '41', '38', '8', '34', '51', '33', '29', '23', '19', '19', '31', '10', '32', '48', '31', '51', '46', '8', '42', '11', '19', '12', '45', '38', '40', '41', '6', '16', '11', '53', '15', '35', '45', '39', '11', '51', '55', '44', '54', '16', '10', '11', '32', '18', '17', '54', '48', '37', '13', '19', '34', '18', '28', '17', '36', '24', '34', '51', '15', '23', '8', '15', '33', '25', '12', '56', '24', '28', '37', '11', '31', '10', '54', '50', '31', '26', '29', '55', '11', '30', '19', '16', '6', '27', '54', '16', '52', '47', '20', '49', '46', '44', '54', '13', '11', '52', '49', '26', '9', '25', '38', '28', '46', '9', '56', '9', '52', '52', '38', '30', '15', '22', '26') spis = ["Melnikov", "Podolskii", "Terehov", "Kovalenko", "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) ('22', '53', '30', '47', '19', '13', '50', '11', '45', '30', '9', '20', '41', '38', '8', '34', '51', '33', '29', '23', '19', '19', '31', '10', '32', '48', '31', '51', '46', '8', '42', '11', '19', '12', '45', '38', '40', '41', '6', '16', '11', '53', '15', '35', '45', '39', '11', '51', '55', '44', '54', '16', '10', '11', '32', '18', '17', '54', '48', '37', '13', '19', '34', '18', '28', '17', '36', '24', '34', '51', '15', '23', '8', '15', '33', '25', '12', '56', '24', '28', '37', '11', '31', '10', '54', '50', '31', '26', '29', '55', '11', '30', '19', '16', '6', '27', '54', '16', '52', '47', '20', '49', '46', '44', '54', '13', '11', '52', '49', '26', '9', '25', '38', '28', '46', '9', '56', '9', '52', '52', '38', '30', '15', '22', '26') spis1 = pickle.load(fp) print(spis) ['Melnikov', 'Podolskii', 'Terehov', 'Kovalenko', 'Zhalnin'] if rn == rn1: print("Файлы совпадают") else: print("Файлы не совпадают") Файлы совпадают if spis == spis1: print("Файлы совпадают") else: print("Файлы не совпадают") Файлы совпадают for i in range(125 // 5): exec('list' + str(i) + '=' + str(list(rn1[i:i+5]))) print(list1) ['53', '30', '47', '19', '13'] print(list2) ['30', '47', '19', '13', '50'] print(list5) ['13', '50', '11', '45', '30'] ```