форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
2.8 KiB
2.8 KiB
Тест по модулю 2
Таболин Иван, А-01-23 Вариант 1
Задание
- Запросите у пользователя и введите имя и число элементов кортежа (от 10 до 100). Проверьте введенное число элементов на соответствие заданному диапазону значений и, при необходимости, повторите ввод. 2)Создайте кортеж с заданными при вводе именем и числом элементов. Элементами должны быть случайные целые числа в диапазоне от 101 до 201. 3)Запишите кортеж в текстовый файл с некоторым именем по одному элементу на строке. 4)Удалите из памяти все созданные объекты-переменные. 5)Прочитайте из файла элементы, подсчитайте их сумму и отобразите на экране по шаблону: "Сумма элементов кортежа = <рассчитанное значение>".
Решение
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
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
f_out=open('test_output.txt','w')
for i in range(N):
f_out.write(str(kort10[i])+'\n')
f_out.close()
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']
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
