форкнуто от main/python-labs
Родитель
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
|
||||||
Загрузка…
Ссылка в новой задаче