форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
6.0 KiB
6.0 KiB
Общее контрольное задание по теме 6
Лазарев Данил Вячеславович, А-01-23
Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
-
Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
-
Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
-
Записывается кортеж в бинарный файл.
-
Записывается в этот же файл список и закрывается файл.
-
Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
-
Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
-
Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
Решение
1
import random
import pickle
kort = list(range(1, 126, 1))
print(kort)
>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125]
kortrandom = ()
for i in kort:
kortrandom = kortrandom + (random.randint(6, 56),)
stroka_iz_kort = tuple(map(str, kortrandom))
print(stroka_iz_kort)
>> ('16', '54', '11', '26', '41', '11', '7', '36', '54', '55', '40', '28', '31', '38', '30', '14', '10', '41', '22', '37', '20', '33', '52', '32', '38', '40', '31', '6', '41', '37', '38', '8', '24', '32', '51', '13', '28', '40', '43', '32', '39', '40', '54', '26', '20', '36', '37', '10', '35', '35', '45', '40', '40', '15', '28', '17', '12', '43', '7', '23', '37', '31', '47', '9', '31', '11', '30', '13', '50', '46', '27', '42', '9', '24', '56', '49', '21', '44', '53', '36', '7', '13', '23', '52', '46', '50', '11', '44', '49', '33', '25', '33', '26', '18', '22', '33', '23', '33', '31', '25', '11', '11', '39', '29', '24', '10', '35', '49', '13', '21', '36', '53', '43', '8', '34', '55', '29', '38', '44', '31', '36', '35', '54', '43', '39')
2
sur = ["Лазарев", "Анисенков", "Филлипова", "Жалнин", "Мельников"]
print("Список фамилий:", sur)
>> Список фамилий: ['Лазарев', 'Анисенков', 'Филлипова', 'Жалнин', 'Мельников']
3-4
f = open('bin.mnz', 'wb')
pickle.dump(stroka_iz_kort, f)
pickle.dump(sur, f)
f.close()
5
f = open('bin.mnz', 'rb')
object1 = pickle.load(f)
object2 = pickle.load(f)
f.close()
print("Объект №1:",object1)
>> Объект №1: ('16', '54', '11', '26', '41', '11', '7', '36', '54', '55', '40', '28', '31', '38', '30', '14', '10', '41', '22', '37', '20', '33', '52', '32', '38', '40', '31', '6', '41', '37', '38', '8', '24', '32', '51', '13', '28', '40', '43', '32', '39', '40', '54', '26', '20', '36', '37', '10', '35', '35', '45', '40', '40', '15', '28', '17', '12', '43', '7', '23', '37', '31', '47', '9', '31', '11', '30', '13', '50', '46', '27', '42', '9', '24', '56', '49', '21', '44', '53', '36', '7', '13', '23', '52', '46', '50', '11', '44', '49', '33', '25', '33', '26', '18', '22', '33', '23', '33', '31', '25', '11', '11', '39', '29', '24', '10', '35', '49', '13', '21', '36', '53', '43', '8', '34', '55', '29', '38', '44', '31', '36', '35', '54', '43', '39')
print("Объект №2:",object2)
Объект №2: ['Лазарев', 'Анисенков', 'Филлипова', 'Жалнин', 'Мельников']
6
if object1 == stroka_iz_kort and object2 == sur:
print("Объекты идентичны исходным")
else:
print("Объекты отличны от изначально заданных")
>> Объекты идентичны исходным
7
splitkort = []
for i in range(0, 125, 5):
splitkort.append(list(stroka_iz_kort[i:i + 5]))
for i in range(25):
print(f"Список№{i + 1} = {splitkort[i]}")
>>
Список№1 = ['16', '54', '11', '26', '41']
Список№2 = ['11', '7', '36', '54', '55']
Список№3 = ['40', '28', '31', '38', '30']
Список№4 = ['14', '10', '41', '22', '37']
Список№5 = ['20', '33', '52', '32', '38']
Список№6 = ['40', '31', '6', '41', '37']
Список№7 = ['38', '8', '24', '32', '51']
Список№8 = ['13', '28', '40', '43', '32']
Список№9 = ['39', '40', '54', '26', '20']
Список№10 = ['36', '37', '10', '35', '35']
Список№11 = ['45', '40', '40', '15', '28']
Список№12 = ['17', '12', '43', '7', '23']
Список№13 = ['37', '31', '47', '9', '31']
Список№14 = ['11', '30', '13', '50', '46']
Список№15 = ['27', '42', '9', '24', '56']
Список№16 = ['49', '21', '44', '53', '36']
Список№17 = ['7', '13', '23', '52', '46']
Список№18 = ['50', '11', '44', '49', '33']
Список№19 = ['25', '33', '26', '18', '22']
Список№20 = ['33', '23', '33', '31', '25']
Список№21 = ['11', '11', '39', '29', '24']
Список№22 = ['10', '35', '49', '13', '21']
Список№23 = ['36', '53', '43', '8', '34']
Список№24 = ['55', '29', '38', '44', '31']
Список№25 = ['36', '35', '54', '43', '39']