форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
117 строки
6.0 KiB
Markdown
117 строки
6.0 KiB
Markdown
## Общее контрольное задание по теме 6
|
|
Лазарев Данил Вячеславович, А-01-23
|
|
|
|
## Задание
|
|
|
|
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
|
|
|
|
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
|
|
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
|
|
3. Записывается кортеж в бинарный файл.
|
|
|
|
4. Записывается в этот же файл список и закрывается файл.
|
|
|
|
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
|
|
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
|
|
|
7. Разделяется кортеж на совокупности по 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']
|
|
```
|
|
|