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

3.0 KiB

Тест по модулю 2

Таболин Иван, А-01-23 Вариант 1

Задание

  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()

Содержимое файла test_output.txt

Содержимое файла test_output.txt

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)


sys.stdin=tmp_in
f_in.close()

print('Сумма элементов кортежа =', summ)
Сумма элементов кортежа = 2037