форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
74 строки
3.8 KiB
Markdown
74 строки
3.8 KiB
Markdown
# Общее контрольное задание по теме 6
|
|
|
|
Степанов Артём, А-02-23
|
|
|
|
## Задание
|
|
|
|
* Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
* Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
* Записывается кортеж в бинарный файл.
|
|
* Записывается в этот же файл список и закрывается файл.
|
|
* Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
* Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
|
* Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
|
|
|
## Решение
|
|
|
|
```py
|
|
>>> #1
|
|
>>>
|
|
>>> import random
|
|
>>> kort = tuple([str(random.randint(6, 56)) for i in range(125)])
|
|
>>> kort
|
|
('12', '34', '27', '28', '19', '38', '47', '26', '43', '32', '50', '22', '18', '15', '41', '37', '21', '37', '41', '26', '33', '55', '41', '19', '23', '11', '39', '10', '50', '56', '14', '14', '14', '43', '38', '7', '52', '24', '6', '18', '12', '31', '48', '16', '41', '19', '47', '42', '31', '20', '50', '53', '7', '41', '20', '10', '46', '44', '50', '12', '40', '13', '33', '26', '37', '55', '41', '16', '29', '36', '12', '34', '49', '31', '45', '34', '40', '54', '51', '6', '22', '53', '30', '16', '12', '46', '38', '8', '48', '47', '21', '34', '30', '54', '9', '49', '7', '12', '39', '44', '27', '50', '31', '36', '20', '24', '43', '36', '46', '37', '9', '42', '32', '8', '25', '19', '13', '39', '30', '22', '19', '20', '16', '23', '37')
|
|
>>> len(kort)
|
|
125
|
|
>>>
|
|
>>> #2
|
|
>>>
|
|
>>> lastnames = ["Stepanov", "Bezhenar", "Volodin", "Kireev", "Kolomeytsev"]
|
|
>>>
|
|
>>> #3
|
|
>>>
|
|
>>> import os, pickle
|
|
>>> os.chdir("C:\\Users\\User\\Desktop\\StepanovAV\\python-labs\\TEMA6")
|
|
>>> fp = open("binary.bin", "wb")
|
|
>>> pickle.dump(kort, fp)
|
|
>>>
|
|
>>> #4
|
|
>>>
|
|
>>> pickle.dump(lastnames, fp)
|
|
>>> fp.close()
|
|
>>>
|
|
>>> #5
|
|
>>>
|
|
>>> fp = open("binary.bin", "rb")
|
|
>>> newKort = pickle.load(fp)
|
|
>>> newList = pickle.load(fp)
|
|
>>> newKort
|
|
('12', '34', '27', '28', '19', '38', '47', '26', '43', '32', '50', '22', '18', '15', '41', '37', '21', '37', '41', '26', '33', '55', '41', '19', '23', '11', '39', '10', '50', '56', '14', '14', '14', '43', '38', '7', '52', '24', '6', '18', '12', '31', '48', '16', '41', '19', '47', '42', '31', '20', '50', '53', '7', '41', '20', '10', '46', '44', '50', '12', '40', '13', '33', '26', '37', '55', '41', '16', '29', '36', '12', '34', '49', '31', '45', '34', '40', '54', '51', '6', '22', '53', '30', '16', '12', '46', '38', '8', '48', '47', '21', '34', '30', '54', '9', '49', '7', '12', '39', '44', '27', '50', '31', '36', '20', '24', '43', '36', '46', '37', '9', '42', '32', '8', '25', '19', '13', '39', '30', '22', '19', '20', '16', '23', '37')
|
|
>>> newList
|
|
['Stepanov', 'Bezhenar', 'Volodin', 'Kireev', 'Kolomeytsev']
|
|
>>> fp.close()
|
|
>>>
|
|
>>> #6
|
|
>>>
|
|
>>> if (newKort == kort): print("Кортежи совпадают")
|
|
...
|
|
Кортежи совпадают
|
|
>>> if (newList == lastnames): print("Списки совпадают")
|
|
...
|
|
Списки совпадают
|
|
>>>
|
|
>>> #7
|
|
>>>
|
|
>>> for i in range(int(len(kort) / 5)):
|
|
... globals() ["list{}".format(i)] = list(kort[i * 5: (i + 1) * 5])
|
|
...
|
|
>>> list0
|
|
['12', '34', '27', '28', '19']
|
|
>>> list1
|
|
['38', '47', '26', '43', '32']
|
|
>>> list24
|
|
['19', '20', '16', '23', '37']
|
|
``` |