import os import pickle from M1 import func1, func2 def process_data(): while True: filename = input("Введите имя файла с выборкой: ") if os.path.exists(filename): try: with open(filename, 'r') as file: data_str = file.read() data_list = [] for item in data_str.replace(',', ' ').split(): try: data_list.append(float(item)) if len(data_list) == 0: print("Файл не содержит числовых данных. Попробуйте другой файл.") continue break else: print() variation_series, params = func1(data_list) while True: try: nint_input = input("\nВведите число интервалов для гистограммы (1 < NINT < 12): ") nint = int(nint_input) if 1 < nint < 12: break else: print("Число интервалов должно быть больше 1 и меньше 12!") print("\nСтроится гистограмма...") histogram_result = func2(data_list, nint) while True: output_filename = input("\nВведите имя бинарного файла для сохранения результатов: ") if not output_filename: print("Имя файла не может быть пустым!") continue if not output_filename.endswith('.dat'): output_filename += '.dat' if os.path.exists(output_filename): overwrite = input(f"Файл '{output_filename}' уже существует. Перезаписать? (да/нет): ") if overwrite.lower() not in ['да', 'yes', 'y', 'д']: continue try: results = { 'variation_series': variation_series, 'statistical_params': params, 'histogram': histogram_result, 'original_data': data_list, 'nint': nint } with open(output_filename, 'wb') as f: pickle.dump(results, f) break return variation_series, params, histogram_result, data_list, nint, filename