Добавил:
YagamiRam
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1 семестр / Лабораторные работы / Лабораторная работа №5 / main
.py# Импорт библиотеки
import pandas as pd
# Импорт классов из модуля sensors.py
from sensors import Sensor, AdvancedSensor, Experiment, Calibrator
##### --- Демонстрация работы системы --- #####
# 1. Создаём датчики
print("Шаг 1: Создание датчиков...")
basic_sensor = Sensor(id="S001", calibration_factor=1.0, unit="°C")
advanced_sensor = AdvancedSensor(
id="AS002",
calibration_factor=1.05,
unit="°C",
precision=100,
last_calibration_date="2023-10-01"
)
print("Датчики созданы:")
print(f" - {basic_sensor}")
print(f" - {advanced_sensor}")
print()
# 2. Создаём эксперимент
print("Шаг 2: Создание эксперимента...")
exp = Experiment(name="Температурный анализ", start_date="2023-10-15")
# 3. Добавляем датчики в эксперимент
print("Шаг 3: Добавление датчиков в эксперимент...")
exp.add_sensor(basic_sensor)
exp.add_sensor(advanced_sensor)
print(f"Эксперимент '{exp.name}' содержит {len(exp.sensor_list)} датчиков.")
print()
# 4. Калибруем датчик (доп. задание)
print("Шаг 4: Калибровка базового датчика...")
Calibrator.calibrate(basic_sensor, 1.1)
print(f"Новый фактор калибровки для {basic_sensor.id}: {basic_sensor.calibration_factor}")
print()
# 5. Запускаем эксперимент
print("Шаг 5: Запуск эксперимента...")
# Метод run() возвращает список словарей с результатами
results = exp.run(iterations=3)
# 6. Выводим результаты
print("Результаты эксперимента (первые 3 итерации):")
for r in results:
print(f" {r}")
print()
# 7. Вычисляем и выводим средние показания
print("Шаг 6: Вычисление средних показаний датчиков...")
averages = exp.get_average_readings()
print("Средние значения:")
for sensor_id, avg in averages.items():
# Получаем единицу измерения из датчика
sensor_obj = next((s for s in exp.sensor_list if s.id == sensor_id), None)
unit = sensor_obj.unit if sensor_obj else "N/A"
print(f" Датчик {sensor_id}: {avg:.2f} {unit}")
print()
# 8. Сохраняем результаты в CSV файл
print("Шаг 7: Сохранение результатов в CSV файл...")
df = pd.DataFrame(results)
df.to_csv("experiment_results.csv", index=False)
print("Результаты сохранены в 'experiment_results.csv'.")
Соседние файлы в папке Лабораторная работа №5
