форкнуто от main/python-labs
				
			
			Вы не можете выбрать более 25 тем
			Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
		
		
		
		
		
			
		
			
				
	
	
	
		
			2.2 KiB
		
	
	
	
			
		
		
	
	
			2.2 KiB
		
	
	
	
Тест по модулю 2
Выполнил: Тимошенко А.А. Проверил: Козлюк Д.А.
Задание(Вариант 7)
- 
С помощью текстового редактора создайте текстовый файл с некоторым именем, в котором будет 4 строки и на каждой строке будет по 3 числа, разделенных запятыми.
 - 
Запросите у пользователя и введите имя файла с данными для обработки. Обеспечьте вывод сообщения при вводе пустой строки и повторный ввод.
 - 
Введите данные из указанного файла и представьте их в виде списка.
 - 
Рассчитайте по введенным данным среднее значение синусов элементов списка.
 - 
Выведите рассчитанное значение на экран по шаблону: " По <число элементов в списке> элементам среднее синусов = <рассчитанное среднее>". При этом значение среднего должно быть округлено до двух знаков после точки.
 
Решение
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