32 lines
1.6 KiB
Python
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()}") |