форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
61 строка
2.0 KiB
Markdown
61 строка
2.0 KiB
Markdown
# Тест 2 вариант 1
|
|
|
|
Коваленко Дмитрий, А-01-23
|
|
|
|
## Задание
|
|
|
|
1) Запросите у пользователя и введите имя и число элементов кортежа (от 10 до 100). Проверьте введенное число элементов на соответствие заданному диапазону значений и, при необходимости, повторите ввод.
|
|
|
|
2) Создайте кортеж с заданными при вводе именем и числом элементов. Элементами должны быть случайные целые числа в диапазоне от 101 до 201.
|
|
|
|
3) Запишите кортеж в текстовый файл с некоторым именем по одному элементу на строке.
|
|
|
|
4) Удалите из памяти все созданные объекты-переменные.
|
|
|
|
5) Прочитайте из файла элементы, подсчитайте их сумму и отобразите на экране по шаблону: "Сумма элементов кортежа = <рассчитанное значение>".
|
|
|
|
|
|
## Решение
|
|
|
|
1)
|
|
```py
|
|
from random import randint
|
|
|
|
def getTupleNumbers():
|
|
try:
|
|
numbers = int(input('Enter tuple elements numbers from 10 to 100: '))
|
|
if numbers >= 10 and numbers <= 100:
|
|
return numbers
|
|
except Exception:
|
|
print('Please enter number')
|
|
print('Enter number from required range')
|
|
return getTupleNumbers()
|
|
|
|
|
|
name = input('Enter your name: ')
|
|
numbers = getTupleNumbers()
|
|
```
|
|
|
|
2)
|
|
```py
|
|
intTuple = ()
|
|
for _ in range(numbers): intTuple += (str(randint(101, 201)), )
|
|
```
|
|
3)
|
|
```py
|
|
with open('test.txt', mode='w') as fl:
|
|
for el in intTuple:
|
|
fl.write(f'{el}\n')
|
|
```
|
|
4)
|
|
```py
|
|
del name, numbers, intTuple
|
|
```
|
|
5)
|
|
```py
|
|
with open('test.txt') as fl:
|
|
nums = fl.readlines()
|
|
|
|
nums = map(int, nums)
|
|
print(f'Сумма элементов кортежа = {sum(nums)}')
|
|
``` |