Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

70 строки
3.7 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Модуль для создания тестовых данных
import pickle
import random
import numpy as np
def создать_тестовые_файлы():
"""
Создает два бинарных файла с тестовыми выборками для проверки программы
"""
# Первый файл - нормальное распределение
print("Создание первого тестового файла...")
данные1 = [random.gauss(50, 15) for _ in range(30)] # 30 элементов, μ=50, σ=15
with open('выборка1_M3_27.bin', 'wb') as f:
pickle.dump(данные1, f)
print(f"Файл 'выборка1_M3_27.bin' создан. Элементов: {len(данные1)}")
print(f"Диапазон значений: {min(данные1):.2f} - {max(данные1):.2f}")
# Второй файл - равномерное распределение
print("\nСоздание второго тестового файла...")
данные2 = [random.uniform(-10, 10) for _ in range(25)] # 25 элементов, от -10 до 10
with open('выборка2_M3_27.bin', 'wb') as f:
pickle.dump(данные2, f)
print(f"Файл 'выборка2_M3_27.bin' создан. Элементов: {len(данные2)}")
print(f"Диапазон значений: {min(данные2):.2f} - {max(данные2):.2f}")
# Третий файл - с явными min/max для демонстрации
print("\nСоздание демонстрационного файла...")
данные3 = [2, 8, 3, 1, 9, 4, 7, 5, 6] # Явные min=1, max=9
with open('демо_выборка_M3_27.bin', 'wb') as f:
pickle.dump(данные3, f)
print(f"Файл 'демо_выборка_M3_27.bin' создан. Элементов: {len(данные3)}")
print(f"Значения: {данные3}")
print(f"Min: {min(данные3)} (индекс {данные3.index(min(данные3))})")
print(f"Max: {max(данные3)} (индекс {данные3.index(max(данные3))})")
print("\n")
print("Тестовые данные созданы:")
print("1. выборка1_M3_27.bin - 30 элементов (нормальное распределение)")
print("2. выборка2_M3_27.bin - 25 элементов (равномерное распределение)")
print("3. демо_выборка_M3_27.bin - 9 элементов (демонстрационный)")
def показать_содержимое_файлов():
"""
Показывает содержимое созданных тестовых файлов
"""
файлы = ['выборка1_M3_27.bin', 'выборка2_M3_27.bin', 'демо_выборка_M3_27.bin']
for имя_файла in файлы:
try:
with open(имя_файла, 'rb') as f:
данные = pickle.load(f)
print(f"\n{имя_файла}:")
print(f" Элементов: {len(данные)}")
print(f" Min: {min(данные):.3f}, Max: {max(данные):.3f}")
print(f" Первые 5 элементов: {[f'{x:.3f}' for x in данные[:5]]}")
except FileNotFoundError:
print(f"\nФайл {имя_файла} не найден. Сначала создайте тестовые данные.")
if __name__ == "__main__":
print("Создание тестовых данных")
создать_тестовые_файлы()
print("\nСодержимое созданных файлов:")
показать_содержимое_файлов()