форкнуто от main/python-labs
Родитель
9e5b295d0b
Сommit
33152aba00
@ -0,0 +1,50 @@
|
|||||||
|
import math
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
while True:
|
||||||
|
filename = input("Введите имя файла с данными для обработки: ")
|
||||||
|
if filename.strip():
|
||||||
|
break
|
||||||
|
print("Ошибка! Имя файла не может быть пустым")
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
data = []
|
||||||
|
for line in f:
|
||||||
|
numbers = [float(x) for x in line.strip().split(',')]
|
||||||
|
data.extend(numbers)
|
||||||
|
|
||||||
|
print(f"Файл {filename} не найден")
|
||||||
|
exit()
|
||||||
|
|
||||||
|
print(f"Прочитано {len(data)} элементов: {data}")
|
||||||
|
|
||||||
|
|
||||||
|
sines = [math.sin(x) for x in data]
|
||||||
|
avg_sine = sum(sines) / len(sines)
|
||||||
|
|
||||||
|
print(f"По {len(data)} элементам среднее синусов = {avg_sine:.2f}")
|
||||||
|
|
||||||
|
# Дополнительно: запись результатов в бинарный файл с использованием pickle
|
||||||
|
results = {
|
||||||
|
'filename': filename,
|
||||||
|
'data': data,
|
||||||
|
'sines': sines,
|
||||||
|
'average_sine': avg_sine,
|
||||||
|
'data_length': len(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print(f"Количество элементов: {loaded_results['data_length']}")
|
||||||
|
print(f"Среднее синусов: {loaded_results['average_sine']:.2f}")
|
||||||
Загрузка…
Ссылка в новой задаче