ответвлено от main/python-labs
77 строки
4.0 KiB
Markdown
77 строки
4.0 KiB
Markdown
|
|
Жалнин Вадим, А-01-23
|
|
|
|
## Задание
|
|
|
|
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
|
|
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
3. Записывается кортеж в бинарный файл.
|
|
4. Записывается в этот же файл список и закрывается файл.
|
|
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
|
7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
|
|
|
## Выполнение
|
|
|
|
1. Создание кортежа
|
|
```python
|
|
>>> #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 = ["Zhalnin", "Khokhlov", "Troyanov", "Zheleznov", "Knyazev"]
|
|
>>>
|
|
>>> #3
|
|
>>>
|
|
>>> import os, pickle
|
|
>>> os.chdir("C:\\Users\\twoth\\Desktop\\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
|
|
["Zhalnin", "Khokhlov", "Troyanov", "Zheleznov", "Knyazev"]
|
|
>>> fp.close()
|
|
>>>
|
|
>>> #6
|
|
>>>
|
|
>>> if (newKort == kort): print("Кортежи совпадают")
|
|
>>> else: print("Кортежи не совпадают")
|
|
Кортежи совпадают
|
|
>>> if (newList == lastnames): print("Списки совпадают")
|
|
>>> else: print("Списки не совпадают")
|
|
Списки совпадают
|
|
>>>
|
|
>>> #7
|
|
>>>
|
|
>>> for i in range(0,125,5):
|
|
exec('list' + str(i//5+1) + ' = ' + str(list(kort[i:i+5])))
|
|
>>> list1
|
|
['12', '34', '27', '28', '19']
|
|
>>> list2
|
|
['38', '47', '26', '43', '32']
|
|
>>> list25
|
|
['19', '20', '16', '23', '37']
|
|
|
|
|
|
|
|
``` |