форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
50 строки
3.3 KiB
Plaintext
50 строки
3.3 KiB
Plaintext
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}") |