From f3072145229a351366e4476f932f0c7e1e78e3bf Mon Sep 17 00:00:00 2001 From: Tsvetkova Tatyana Date: Sat, 8 Nov 2025 11:23:57 +0300 Subject: [PATCH] task --- TEMA6/task.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 TEMA6/task.md diff --git a/TEMA6/task.md b/TEMA6/task.md new file mode 100644 index 0000000..9ce098b --- /dev/null +++ b/TEMA6/task.md @@ -0,0 +1,62 @@ +• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, +представленными в виде символьных строк. +```py +>>> nums = tuple(str(random.randint(6, 56)) for _ in range(125)) +>>> nums +('41', '37', '13', '26', '9', '33', '55', '50', '51', '44', '38', '17', '18', '18', '36', + '23', '43', '38', '41', '42', '53', '16', '41', '34', '38', '48', '37', '17', '36', '48', + '31', '34', '51', '18', '12', '37', '42', '50', '47', '26', '27', '30', '26', '11', '19', + '56', '15', '7', '6', '45', '22', '37', '36', '54', '31', '35', '46', '54', '31', '13', +...'41', '9', '9', '22') +``` +Примечание: если итератор не надо использовать в теле цикла, принято просто обозначать его _ + +• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. +```py +>>> group = ["Tsvetkova", "Konovalova", "Kiselyov", "Kirsanov", "Romanov"] +``` +• Записывается кортеж в бинарный файл. +```py +>>> fl = open("okz.okz", "wb") +>>> pickle.dump(nums, fl) +``` +• Записывается в этот же файл список и закрывается файл. +```py +>>> pickle.dump(group, fl) +>>> fl.close() +``` +• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. +```py +>>> fl = open("okz.okz", "rb") +>>> nums1 = pickle.load(fl) +>>> nums1 +('41', '37', ... '41', '9', '9', '22') +>>> group1 = pickle.load(fl) +>>> group1 +['Tsvetkova', 'Konovalova', 'Kiselyov', 'Kirsanov', 'Romanov'] +``` +Примечание: при чтении с помощью pickle.load() тоже есть указатель, который останавливается +при достижении /n, так что можно просто вызвать ее два раза, чтобы записать эти два объекта. +Если вызвать ее третий раз, будет EOFError. + +• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. +```py +>>> print("Файлы nums совпадают!") if nums == nums1 else print("Файлы nums не совпадают :(") +Файлы nums совпадают! +>>> print("Файлы group совпадают!") if group == group1 else print("Файлы group не совпадают :(") +Файлы group совпадают! +``` +• Разделяется кортеж на совокупности по 5 чисел в каждой и +они записываются в виде отдельных списков со своими именами. (Динамические имена, согласно +примечанию на git uit) +```py +>>> for i in range(125//5): + exec('list' + str(i) + '=' + str(list(nums1[i:i+5]))) +``` +Можно вызвать конкретные списки для проверки: +```py +>>> list1 +['37', '13', '26', '9', '33'] +>>> list6 +['55', '50', '51', '44', '38'] +``` \ No newline at end of file