форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
78 строки
3.6 KiB
Markdown
78 строки
3.6 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
|
|
('50', '34', '15', '23', '20', '38', '26', '6', '6', '46', '7', '26', '48', '15', '6', '12', '43', '19', '37', '12', '49', '44', '53', '19', '55', '13', '34', '14', '25', '17', '41', '22', '33', '19', '19', '53', '48', '37', '25', '37', '33', '55', '15', '13', '55', '50', '32', '49', '11', '18', '9', '39', '47', '15', '41', '15', '21', '28', '47', '40', '44', '40', '53', '45', '8', '49', '36', '54', '12', '6', '37', '9', '53', '39', '26', '34', '15', '20', '14', '37', '14', '40', '15', '11', '42', '22', '25', '28', '15', '47', '46', '12', '13', '46', '45', '26', '38', '19', '22', '45', '20', '29', '42', '9', '26', '38', '28', '55', '26', '14', '56', '10', '38', '18', '8', '55', '44', '12', '32', '36', '20', '31', '16', '54', '16')
|
|
len(kort)
|
|
125
|
|
|
|
#2
|
|
|
|
lastnames = ["Kolomeytsev", "Jordan", "Bryant", "James", "O'Neal"]
|
|
|
|
#3
|
|
|
|
import os, pickle
|
|
os.chdir("/home/s0ba4/mpei/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
|
|
('50', '34', '15', '23', '20', '38', '26', '6', '6', '46', '7', '26', '48', '15', '6', '12', '43', '19', '37', '12', '49', '44', '53', '19', '55', '13', '34', '14', '25', '17', '41', '22', '33', '19', '19', '53', '48', '37', '25', '37', '33', '55', '15', '13', '55', '50', '32', '49', '11', '18', '9', '39', '47', '15', '41', '15', '21', '28', '47', '40', '44', '40', '53', '45', '8', '49', '36', '54', '12', '6', '37', '9', '53', '39', '26', '34', '15', '20', '14', '37', '14', '40', '15', '11', '42', '22', '25', '28', '15', '47', '46', '12', '13', '46', '45', '26', '38', '19', '22', '45', '20', '29', '42', '9', '26', '38', '28', '55', '26', '14', '56', '10', '38', '18', '8', '55', '44', '12', '32', '36', '20', '31', '16', '54', '16')
|
|
newList
|
|
['Kolomeytsev', 'Jordan', 'Bryant', 'James', "O'Neal"]
|
|
fp.close()
|
|
|
|
#6
|
|
|
|
if (newKort == kort): print("Кортежи совпадают")
|
|
|
|
Кортежи совпадают
|
|
if (newList == lastnames): print("Списки совпадают")
|
|
|
|
Списки совпадают
|
|
|
|
#7
|
|
|
|
for i in range(125//5):
|
|
exec('list' + str(i) + '=' + str(list(nums1[i:i+5])))
|
|
|
|
list0
|
|
['50', '34', '15', '23', '20']
|
|
list1
|
|
['38', '26', '6', '6', '46']
|
|
list2
|
|
['7', '26', '48', '15', '6']
|
|
list24
|
|
['20', '31', '16', '54', '16']
|
|
list25
|
|
# ошибка
|
|
``` |