форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
3.6 KiB
3.6 KiB
Общее контрольное задание по теме 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 = ["Bushmanov", "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)
['Bushmanov', 'Podolskii', 'Terehov', 'Kovalenko', 'Zhalnin']
if rn == rn1:
print("Переменные rn и rn1 совпадают")
else:
print("Переменные не совпадают")
Переменные rn и rn1 совпадаютif spis == spis1:
print("Переменные spis и spis1 совпадают")
else:
print("Переменные не совпадают")
Переменные spis и spis1 совпадают
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']