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