форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
59 строки
1.8 KiB
Python
59 строки
1.8 KiB
Python
import random
|
|
import M1
|
|
|
|
def main():
|
|
'''Основная функция'''
|
|
while True:
|
|
name = input("Введите имя файла с данными: ")
|
|
try:
|
|
with open(name, 'r') as test_file:
|
|
pass
|
|
break
|
|
except FileNotFoundError:
|
|
print(f"Файл '{filename}' не найден. Попробуйте снова.")
|
|
|
|
while True:
|
|
try:
|
|
TAU = int(input("Введите значение TAU (>=0): "))
|
|
if TAU >= 0:
|
|
break
|
|
else:
|
|
print("TAU должно быть >= 0. Попробуйте снова.")
|
|
except ValueError:
|
|
print("Некорректный ввод. Введите целое число.")
|
|
|
|
K = random.uniform(2, 7)
|
|
print(f"\nСлучайное значение K: {K:.2f}")
|
|
|
|
SPS1, SPS2 = M1.function1(name, TAU, K)
|
|
|
|
if not SPS1:
|
|
print("Не удалось получить данные. Программа завершена.")
|
|
return
|
|
|
|
print(f"\nДлина списка SPS1: {len(SPS1)}")
|
|
print("Первые 10 элементов SPS1:", SPS1[:10])
|
|
print("Первые 10 элементов SPS2:", SPS2[:10])
|
|
|
|
SS3 = []
|
|
max_TT = TAU + 5
|
|
|
|
for TT in range(max_TT + 1):
|
|
D = M1.function2(SPS1, SPS2, TT)
|
|
SS3.append(D)
|
|
print(f"TT = {TT}: D = {D:.6f}")
|
|
|
|
output_filename = "Res11.bin"
|
|
try:
|
|
with open(output_filename, 'w') as file:
|
|
for value in SS3:
|
|
file.write(f"{value}\n")
|
|
print(f"\nРезультаты записаны в файл: {output_filename}")
|
|
except Exception as e:
|
|
print(f"Ошибка при записи в файл: {e}")
|
|
|
|
return SS3
|
|
|
|
if __name__ == "__main__":
|
|
main_M2()
|