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

92 строки
3.0 KiB
Markdown

# Тест по модулю 2
Таболин Иван, А-01-23
Вариант 1
## Задание
1) Запросите у пользователя и введите имя и число элементов кортежа (от 10 до 100). Проверьте введенное число элементов на соответствие заданному диапазону значений и, при необходимости, повторите ввод.
2) Создайте кортеж с заданными при вводе именем и числом элементов. Элементами должны быть случайные целые числа в диапазоне от 101 до 201.
3) Запишите кортеж в текстовый файл с некоторым именем по одному элементу на строке.
4) Удалите из памяти все созданные объекты-переменные.
5) Прочитайте из файла элементы, подсчитайте их сумму и отобразите на экране по шаблону: "Сумма элементов кортежа = <рассчитанное значение>".
## Решение
1)
```py
import os
os.chdir('C:\\Users\\User\\Desktop\\python-labs\\TEMA6')
name=input('Введите имя кортежа: ')
Введите имя кортежа: kort10
N=0
while (N<10) or (N>100):
N=int(input('Введите количество элементов кортежа: '))
Введите количество элементов кортежа: 3
Введите количество элементов кортежа: 15
```
2)
```py
import random as rn
exec(name+'=()')
kort10
()
type(kort10)
<class 'tuple'>
for i in range(N):
kort10+=(rn.randint(101,201),)
kort10
(194, 102, 105, 152, 171, 135, 165, 168, 192, 168, 147, 185, 166, 102, 181)
len(kort10)
15
```
3)
```py
f_out=open('test_output.txt','w')
for i in range(N):
f_out.write(str(kort10[i])+'\n')
f_out.close()
```
![Содержимое файла test_output.txt](Ris1.png)
Содержимое файла test_output.txt
4)
```py
dir()
['N', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f_out', 'i', 'kort10', 'n_out', 'name', 'os', 'random', 'rn']
del f_out, i, kort10, n_out, name, N
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'random', 'rn']
```
5)
```py
import sys
tmp_in=sys.stdin
f_in=open('test_output.txt','r')
sys.stdin
<_io.TextIOWrapper name='test_output.txt' mode='r' encoding='cp1251'>
kort20=()
while True:
try:
kort20+=(input(),)
except EOFError:
break
kort20
('105', '152', '171', '135', '165', '168', '192', '168', '147', '185', '166', '102', '181')
summ=0
for x in kort20:
summ+=int(x)
sys.stdin=tmp_in
f_in.close()
print('Сумма элементов кортежа =', summ)
Сумма элементов кортежа = 2037
```