форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
41 строка
2.0 KiB
Python
41 строка
2.0 KiB
Python
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}") |