ответвлено от main/python-labs
test: done
Этот коммит содержится в:
55
TEMA9/M2.py
Обычный файл
55
TEMA9/M2.py
Обычный файл
@@ -0,0 +1,55 @@
|
||||
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
|
||||
Ссылка в новой задаче
Block a user