форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
38 строки
2.0 KiB
Markdown
38 строки
2.0 KiB
Markdown
# Тест по модулю 2
|
|
Выполнил: Тимошенко А.А. Проверил: Козлюк Д.А.
|
|
|
|
## Задание(Вариант 7)
|
|
1) С помощью текстового редактора создайте текстовый файл с некоторым именем, в котором будет 4 строки и на каждой строке будет по 3 числа, разделенных запятыми.
|
|
|
|
2) Запросите у пользователя и введите имя файла с данными для обработки. Обеспечьте вывод сообщения при вводе пустой строки и повторный ввод.
|
|
|
|
3) Введите данные из указанного файла и представьте их в виде списка.
|
|
|
|
4) Рассчитайте по введенным данным среднее значение синусов элементов списка.
|
|
|
|
5) Выведите рассчитанное значение на экран по шаблону: " По <число элементов в списке> элементам среднее синусов = <рассчитанное среднее>". При этом значение среднего должно быть округлено до двух знаков после точки.
|
|
|
|
## Решение
|
|
```
|
|
import os
|
|
import math
|
|
|
|
file_name = input('Введите имя файла: ')
|
|
while file_name == '':
|
|
print('Ошибка! Введите имя файла.')
|
|
file_name = input('Введите имя файла: ')
|
|
|
|
with open(file_name, 'r') as f:
|
|
data_list = []
|
|
for line in f:
|
|
numbers = line.strip().split(',')
|
|
data_list.extend([float(x) for x in numbers])
|
|
|
|
sin_sum = sum(math.sin(x) for x in data_list)
|
|
average = sin_sum / len(data_list)
|
|
|
|
print(f'По {len(data_list)} элементам среднее синусов = {average:.2f}')
|
|
|
|
Введите имя файла: module.txt
|
|
По 12 элементам среднее синусов = -0.01
|
|
``` |