python_rag_system/lesson_12/home_task/task39.py
2025-10-27 14:38:51 +03:00

32 lines
1.6 KiB
Python

# Модель учебных материалов
# todo: Создайте иерархию классов для представления различных типов учебных материалов.
#
# Требования: Базовый класс LearningMaterial:
# Свойства: title, author, duration_minutes
# Методы:
# display_info() - выводит основную информацию
# get_difficulty() - возвращает сложность материала (должен быть переопределен в дочерних классах)
#
# Дочерние классы:
# VideoLesson:
# Дополнительные свойства: video_quality, subtitles_available
# Сложность: "Средняя"
#
# Article:
# Дополнительные свойства: word_count, reading_level
# Сложность: рассчитывается как word_count / 1000 (легкая если <1, средняя 1-3, сложная >3)
#
# Quiz:
# Дополнительные свойства: questions_count, passing_score
# Сложность: "Высокая" если passing_score > 80, иначе "Средняя"
# Этот код должен работать после реализации:
materials = [
VideoLesson("Python ООП", "Иван Иванов", 45, "1080p", True),
Article("Глубокое обучение", "Анна Петрова", 1200, "advanced"),
Quiz("Проверка знаний", "Платформа", 20, 75, 10)
]
for material in materials:
print(f"{material.title}: {material.get_difficulty()}")