форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
39 строки
1.6 KiB
Python
39 строки
1.6 KiB
Python
import os
|
|
import pickle
|
|
from M1 import process_tuples, calculate_stats
|
|
|
|
def process_data_and_save_results():
|
|
filename = ""
|
|
|
|
while not os.path.exists(filename):
|
|
filename = input("Введите имя бинарного файла с данными (например, input_data.bin): ")
|
|
if not os.path.exists(filename):
|
|
print(f"Файл '{filename}' не найден. Попробуйте еще раз.")
|
|
|
|
|
|
with open(filename, 'rb') as f:
|
|
krt1 = pickle.load(f)
|
|
krt2 = pickle.load(f)
|
|
print(f"\nДанные успешно считаны из файла '{filename}'.")
|
|
print(f"KRT1 (первые 5 элементов): {krt1[:5]}")
|
|
print(f"KRT2 (первые 5 элементов): {krt2[:5]}")
|
|
|
|
sps1, sps2 = process_tuples(krt1, krt2)
|
|
print("\n--- Результаты функции 1 ---")
|
|
print(f"SPS1 (упорядоченный список элементов): {sps1[:10]}... (длина {len(sps1)})")
|
|
print(f"SPS2 (список происхождения элементов): {sps2[:10]}... (длина {len(sps2)})")
|
|
|
|
|
|
stats = calculate_stats(sps1)
|
|
print("\n--- Результаты функции 2 (для SPS1) ---")
|
|
for key, value in stats.items():
|
|
print(f"{key}: {value:.2f}")
|
|
|
|
output_filename = "Res22.txt"
|
|
with open(output_filename, 'w') as f:
|
|
for val1, val2 in zip(sps1, sps2):
|
|
f.write(f"{val1} {val2}\n")
|
|
print(f"\nРезультаты функции 1 записаны в файл '{output_filename}'.")
|
|
|
|
return sps1
|