форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
49 строки
3.5 KiB
Markdown
49 строки
3.5 KiB
Markdown
# Общее контрольное задание по теме 6
|
|
|
|
## Задание:
|
|
- Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
- Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
- Записывается кортеж в бинарный файл.
|
|
- Записывается в этот же файл список и закрывается файл.
|
|
- Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
- Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
|
- Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
|
|
|
## Решение:
|
|
```
|
|
import random
|
|
import pickle
|
|
rn = tuple(str(random.randint(6, 56)) for i in range(125))
|
|
print(rn)
|
|
('22', '53', '30', '47', '19', '13', '50', '11', '45', '30', '9', '20', '41', '38', '8', '34', '51', '33', '29', '23', '19', '19', '31', '10', '32', '48', '31', '51', '46', '8', '42', '11', '19', '12', '45', '38', '40', '41', '6', '16', '11', '53', '15', '35', '45', '39', '11', '51', '55', '44', '54', '16', '10', '11', '32', '18', '17', '54', '48', '37', '13', '19', '34', '18', '28', '17', '36', '24', '34', '51', '15', '23', '8', '15', '33', '25', '12', '56', '24', '28', '37', '11', '31', '10', '54', '50', '31', '26', '29', '55', '11', '30', '19', '16', '6', '27', '54', '16', '52', '47', '20', '49', '46', '44', '54', '13', '11', '52', '49', '26', '9', '25', '38', '28', '46', '9', '56', '9', '52', '52', '38', '30', '15', '22', '26')
|
|
spis = ["Melnikov", "Podolskii", "Terehov", "Kovalenko", "Zhalnin"]
|
|
fp = open('data.bin', 'wb')
|
|
pickle.dump(rn, fp)
|
|
pickle.dump(spis, fp)
|
|
fp.close()
|
|
fp = open('data.bin', 'rb')
|
|
rn1 = pickle.load(fp)
|
|
print(rn1)
|
|
('22', '53', '30', '47', '19', '13', '50', '11', '45', '30', '9', '20', '41', '38', '8', '34', '51', '33', '29', '23', '19', '19', '31', '10', '32', '48', '31', '51', '46', '8', '42', '11', '19', '12', '45', '38', '40', '41', '6', '16', '11', '53', '15', '35', '45', '39', '11', '51', '55', '44', '54', '16', '10', '11', '32', '18', '17', '54', '48', '37', '13', '19', '34', '18', '28', '17', '36', '24', '34', '51', '15', '23', '8', '15', '33', '25', '12', '56', '24', '28', '37', '11', '31', '10', '54', '50', '31', '26', '29', '55', '11', '30', '19', '16', '6', '27', '54', '16', '52', '47', '20', '49', '46', '44', '54', '13', '11', '52', '49', '26', '9', '25', '38', '28', '46', '9', '56', '9', '52', '52', '38', '30', '15', '22', '26')
|
|
spis1 = pickle.load(fp)
|
|
print(spis)
|
|
['Melnikov', 'Podolskii', 'Terehov', 'Kovalenko', 'Zhalnin']
|
|
if rn == rn1:
|
|
print("Файлы совпадают")
|
|
else:
|
|
print("Файлы не совпадают")
|
|
Файлы совпадают
|
|
if spis == spis1:
|
|
print("Файлы совпадают")
|
|
else:
|
|
print("Файлы не совпадают")
|
|
Файлы совпадают
|
|
for i in range(125 // 5):
|
|
exec('list' + str(i) + '=' + str(list(rn1[i:i+5])))
|
|
print(list1)
|
|
['53', '30', '47', '19', '13']
|
|
print(list2)
|
|
['30', '47', '19', '13', '50']
|
|
print(list5)
|
|
['13', '50', '11', '45', '30']
|
|
``` |