# Общее контрольное задание по теме 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'] ```