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

2.5 KiB

Выполнение модульного задания 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