Files
python-labs/TEMA9/M2.py
2026-03-19 01:39:48 +03:00

56 строки
2.2 KiB
Python

import os
import M1
def process_signal():
"""
Основная функция модуля M2
Запрашивает имя файла, проверяет его существование,
вызывает функцию2 из M1 и записывает результаты в файл Res101.txt
"""
# Запрос имени файла с проверкой существования
while True:
filename = input("\nВведите имя файла с данными: ").strip()
if os.path.exists(filename):
print(f"Файл '{filename}' найден")
break
else:
print(f"Файл '{filename}' не существует. Повторите ввод.")
# Вызов функции 2 из модуля M1
signal, t_stat, F_stat, mean1, mean2, var1, var2 = M1.function2(filename)
print("Отсчеты сигнала:")
for i in range(len(signal)):
print(f" {i:2d}: {signal[i]:8.2f}")
print("\n--- Анализ результатов ---")
messages = []
if t_stat > 2:
msg_t = "Сигнал сильно меняется"
print(f"t={t_stat:.4f} > 2: {msg_t}")
else:
msg_t = "Сигнал заметно не меняется"
print(f"t={t_stat:.4f} ≤ 2: {msg_t}")
messages.append(msg_t)
if F_stat > 4:
msg_F = "Разброс сигнала сильно меняется"
print(f"F={F_stat:.4f} > 4: {msg_F}")
else:
msg_F = "Разброс сигнала заметно не меняется"
print(f"F={F_stat:.4f} ≤ 4: {msg_F}")
messages.append(msg_F)
res_filename = "Res101.txt"
file = open(res_filename, 'w', encoding='utf-8')
file.write(f"Исходный файл: {filename}\n")
file.write(f"Количество отсчетов: {len(signal)}\n")
file.write(f"t-статистика: {t_stat:.6f}\n")
file.write(f"F-статистика: {F_stat:.6f}\n")
file.write("-"*40 + "\n")
file.write(f"Вывод 1: {msg_t}\n")
file.write(f"Вывод 2: {msg_F}\n")
file.close()
print(f"\nРезультаты сохранены в файл '{res_filename}'")
return signal, t_stat, F_stat