Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

63 строки
3.4 KiB
Markdown

# Общее контрольное задание по теме 6
Сарайкина Вера, А-02-23
## Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
3. Записывается кортеж в бинарный файл.
4. Записывается в этот же файл список и закрывается файл.
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
## Выполнение
1. Создание кортежа
```py
import random
tup1=[]
for i in range(125): tup1.append(str(random.randint(6, 56)))
tup1=tuple(tup1); tup1
('46', '21', '28', '45', '35', '15', '42', '20', '20', '31', '32', '23', '25', '56', '16', '42', '11', '44', '15', '7', '41', '27', '27', '54', '51', '15', '20', '48', '52', '15', '38', '17', '19', '56', '22', '33', '16', '53', '19', '11', '31', '10', '7', '6', '15', '16', '20', '28', '44', '26', '24', '51', '16', '17', '38', '31', '28', '26', '25', '43', '16', '23', '34', '48', '33', '53', '26', '33', '38', '29', '8', '36', '49', '53', '49', '13', '51', '13', '49', '46', '35', '13', '12', '48', '25', '56', '50', '30', '6', '56', '9', '11', '16', '38', '33', '7', '16', '10', '47', '32', '43', '38', '10', '7', '12', '35', '22', '35', '12', '39', '15', '32', '27', '42', '52', '20', '51', '10', '22', '49', '26', '6', '12', '49', '22')
```
2-4. Создание списка, запись кортежа и списка в бинарный файл, чтение обоих объектов из файла
```py
sps1=['Похил', 'Сарайкина', 'Цветкова', 'Шинкаренко', 'Снегура']
import pickle
fp=open('fil.mnz', 'wb')
pickle.dump(tup1, fp)
pickle.dump(sps1, fp)
fp.close()
fp=open('fil.mnz', 'rb')
tup2=pickle.load(fp)
sps2=pickle.load(fp)
fp.close()
```
5. Проверка на совпадение объектов
```py
print('Кортежи совпадают') if tup1 == tup2 else print('Кортежи не совпадают')
Кортежи совпадают
print('Списки совпадают') if sps1 == sps2 else print('Списки не совпадают')
Списки совпадают
```
6. Разделение кортежа на списки по 5 чисел, представленных в строковом виде.
```py
for i in range(0, len(tup1), 5):
exec('spisk' + str(i//5+1) + '=' + str(list(tup1[i:i+5])))
spisk1
['46', '21', '28', '45', '35']
spisk2
['15', '42', '20', '20', '31']
spisk3
['32', '23', '25', '56', '16']
```