форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
63 строки
3.4 KiB
Markdown
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']
|
|
``` |