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