форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
3.1 KiB
3.1 KiB
Общее контрольное задание по теме 6
Володин Денис, А-02-23
Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
• Записывается кортеж в бинарный файл.
• Записывается в этот же файл список и закрывается файл.
• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
Решение
>>> import random
>>> import pickle
>>> nums = tuple(str(random.randint(6, 56)) for _ in range(125))
>>> nums
('39', '32', '6', '18', '38', '47', '16', '20', '30', '13', '55', '35', '12', '40', '13', '8', '43', '45', '20', '28', '43', '31', '35', '36', '24', '23', '41', '41', '53', '43', '14', '42', '18', '55', '55', '13', '51', '21', '24', '47', '55', '48', '15', '23', '33', '51', '34', '34', '20', '38', '46', '41', '48', '32', '36', '19', '10', '53', '38', '27', '27', '49', '33', '42', '7', '41', '41', '8', '55', '29', '26', '18', '9', '25', '19', '22', '17', '30', '17', '22', '20', '56', '46', '16', '22', '53', '30', '38', '28', '50', '9', '28', '37', '26', '21', '49', '10', '18', '45', '31', '48', '44', '21', '11', '38', '39', '13', '26', '6', '12', '54', '34', '15', '33', '31', '18', '36', '10', '34', '32', '7', '6', '49', '21', '55')
>>> group = ["Volodin", "Begenar", "Kireev", "Krivi", "Stepanov"]
>>> fl = open("okz.okz", "wb")
>>> pickle.dump(nums, fl)
>>> pickle.dump(group, fl)
>>> fl.close()
>>> fl = open("okz.okz", "rb")
>>> nums1 = pickle.load(fl)
>>> nums1
('39', '32', ... '49', '21', '55')
>>> group1 = pickle.load(fl)
>>> group1
["Volodin", "Begenar", "Kireev", "Krivi", "Stepanov"]
>>> print("Файлы nums совпадают!") if nums == nums1 else print("Файлы nums не совпадают :(")
Файлы nums совпадают!
>>> print("Файлы group совпадают!") if group == group1 else print("Файлы group не совпадают :(")
Файлы group совпадают!
>>> for i in range(125//5):
exec('list' + str(i) + '=' + str(list(nums1[i:i+5])))
>>> list0
['39', '32', '6', '18', '38']
>>> list5
['47', '16', '20', '30', '13']