import random import pickle import os # 1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк numbers_tuple = tuple(str(random.randint(6, 56)) for _ in range(125)) # 2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников surnames_list = ["Терехов", "Жалнин", "Соловьёва", "Лыкова", "Бушманов"] # 3. Записывается кортеж в бинарный файл # 4. Записывается в этот же файл список и закрывается файл fil=os.path.abspath("report.md") drkt=os.path.dirname(fil) fp = open(drkt + '/TEMA6/data_file.dat', 'wb') pickle.dump(numbers_tuple, fp) pickle.dump(surnames_list, fp) fp.close() # 5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта fp = open(drkt + '/TEMA6/data_file.dat', 'rb') loaded_tuple = pickle.load(fp) loaded_list = pickle.load(fp) fp.close() # 6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение if numbers_tuple == loaded_tuple and surnames_list == loaded_list: print("Объекты совпадают") else: print("Объекты не совпадают") # 7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами lists_dict = {} for i in range(0, len(loaded_tuple), 5): chunk = list(loaded_tuple[i:i+5]) list_name = f"list_{i//5 + 1}" lists_dict[list_name] = chunk # Вывод созданных списков for list_name, chunk in lists_dict.items(): print(f"{list_name} = {chunk}")