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

|
|
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)
|
|
|
|
|
|
summ
|
|
2037
|
|
``` |