Пользователь № 12 аудитории Ж-115 1 месяц назад
Родитель 7d361db18e
Сommit 8e69428e2f

@ -0,0 +1,48 @@
# Выполнение модульного задания 2
Голощапов Д.Е.,А-01-23
# Задание
M2_7
1) С помощью текстового редактора создайте текстовый файл с некоторым именем, в котором будет 4 строки и на каждой строке будет по 3 числа, разделенных запятыми.
2) Запросите у пользователя и введите имя файла с данными для обработки. Обеспечьте вывод сообщения при вводе пустой строки и повторный ввод.
3) Введите данные из указанного файла и представьте их в виде списка.
4) Рассчитайте по введенным данным среднее значение синусов элементов списка.
5) Выведите рассчитанное значение на экран по шаблону: " По <число элементов в списке> элементам среднее синусов = <рассчитанное среднее>". При этом значение среднего должно быть округлено до двух знаков после точки.
# Решение
>>> import math
>>> import os
>>> os.chdir("C:\\Users\\u115-12\\Desktop\\python-labs\\TEMA6")
>>> fname = input("Введите имя файла: ")
Введите имя файла: module.txt
>>> while fname == "":
... print("Имя не должно быть пустым.")
... fname = input('Введите имя файла: ')
...
...
>>> with open(fname, 'r') as f:
... list = []
... for line in f:
... numbers = line.strip().split(',') #убрал пробелы и переносы в начале и конце строки, и разбил строку на части по запятым
... list.extend([float(x) for x in numbers]) #добавил числа в общий список
...
...
>>>
>>> list
[1.0, 4.0, 5.0, 2.0, 7.0, 8.0, 2.0, 6.0, 4.0, 8.0, 9.0, 10.0]
>>> sin_sum = sum(math.sin(x) for x in list)
>>> sin_sum
2.4119215412992787
>>> average=sin_sum/len(list)
>>> average
0.2009934617749399
>>> print("По", len(list), "элементам среднее синусов =", round(average, 2))
По 12 элементам среднее синусов = 0.2
Загрузка…
Отмена
Сохранить