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

93 строки
4.7 KiB
Markdown

# Общее контрольное задание по Теме 6
Таболин Иван, А-01-23
## Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представ-ленными в виде символьных строк.
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
3. Записывается кортеж в бинарный файл.
4. Записывается в этот же файл список и закрывается файл.
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообще-ние.
7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
## Решение
1.
```py
stroka=''
for i in range(125):
stroka+=str(random.randint(6,56))+' '
stroka=stroka[:-1]
kort=tuple(stroka.split(' '));print(kort, len(kort))
('15', '8', '50', '41', '20', '49', '43', '34', '22', '11', '42', '34', '15', '23', '25', '42', '9', '10', '26', '28', '26', '7', '30', '50', '19', '23', '9', '39', '19', '13', '27', '46', '20', '32', '13', '28', '7', '27', '18', '41', '28', '10', '27', '44', '32', '22', '37', '7', '6', '46', '34', '36', '8', '47', '43', '30', '9', '23', '20', '52', '26', '34', '50', '50', '47', '50', '46', '50', '29', '46', '23', '8', '29', '21', '32', '29', '36', '9', '53', '11', '34', '10', '28', '17', '10', '21', '40', '30', '23', '26', '48', '15', '48', '9', '29', '17', '42', '28', '37', '23', '30', '38', '9', '55', '17', '35', '31', '52', '17', '12', '27', '9', '53', '14', '17', '22', '11', '13', '54', '45', '15', '52', '23', '11', '37') 125
```
2.
```py
surnames=['Tabolin','Berezhkov','Krishtul','Stepanischev','Filippov']
print(surnames)
['Tabolin', 'Berezhkov', 'Krishtul', 'Stepanischev', 'Filippov']
```
3.
```py
import pickle
fb=open('taskb.bin','wb')
pickle.dump(kort, fb)
```
4.
```py
pickle.dump(surnames,fb)
fb.close()
```
5.
```py
fb=open('taskb.bin','rb')
inp1=pickle.load(fb)
inp2=pickle.load(fb)
print(inp1,inp2,sep='\n')
('15', '8', '50', '41', '20', '49', '43', '34', '22', '11', '42', '34', '15', '23', '25', '42', '9', '10', '26', '28', '26', '7', '30', '50', '19', '23', '9', '39', '19', '13', '27', '46', '20', '32', '13', '28', '7', '27', '18', '41', '28', '10', '27', '44', '32', '22', '37', '7', '6', '46', '34', '36', '8', '47', '43', '30', '9', '23', '20', '52', '26', '34', '50', '50', '47', '50', '46', '50', '29', '46', '23', '8', '29', '21', '32', '29', '36', '9', '53', '11', '34', '10', '28', '17', '10', '21', '40', '30', '23', '26', '48', '15', '48', '9', '29', '17', '42', '28', '37', '23', '30', '38', '9', '55', '17', '35', '31', '52', '17', '12', '27', '9', '53', '14', '17', '22', '11', '13', '54', '45', '15', '52', '23', '11', '37')
['Tabolin', 'Berezhkov', 'Krishtul', 'Stepanischev', 'Filippov']
fb.close()
```
6.
```py
if (inp1==kort) and (inp2==surnames):
print('Вывод в файл и последующее чтение из файла выполнено корректно.')
else:
print('Ошибка!')
Вывод в файл и последующее чтение из файла выполнено корректно.
```
7.
```py
for i in range(125//5):
exec('spis'+str(i)+'='+str(list(inp1[i:i+5])))
for i in range(125//5):
exec('print(spis'+str(i)+')')
['15', '8', '50', '41', '20']
['8', '50', '41', '20', '49']
['50', '41', '20', '49', '43']
['41', '20', '49', '43', '34']
['20', '49', '43', '34', '22']
['49', '43', '34', '22', '11']
['43', '34', '22', '11', '42']
['34', '22', '11', '42', '34']
['22', '11', '42', '34', '15']
['11', '42', '34', '15', '23']
['42', '34', '15', '23', '25']
['34', '15', '23', '25', '42']
['15', '23', '25', '42', '9']
['23', '25', '42', '9', '10']
['25', '42', '9', '10', '26']
['42', '9', '10', '26', '28']
['9', '10', '26', '28', '26']
['10', '26', '28', '26', '7']
['26', '28', '26', '7', '30']
['28', '26', '7', '30', '50']
['26', '7', '30', '50', '19']
['7', '30', '50', '19', '23']
['30', '50', '19', '23', '9']
['50', '19', '23', '9', '39']
['19', '23', '9', '39', '19']
```