/
sveta_dumina
/
task_oop
Обзор
Документация
Войти
/
sveta_dumina
/
task_oop
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task2_oop.py
65 строк
2 KB
Svetlana
ДЗ
26 май 2026, 22:39
26 май 2026, 22:39
d60f9c4
Код
Авторство
О чём код?
class Student: def __init__(self, name, surname, gender): self.name = name self.surname = surname self.gender = gender self.finished_courses = [] self.courses_in_progress = [] self.grades = {} def rate_lecture(self, lecturer, course, grade): if (isinstance(lecturer, Lecturer) and course in self.courses_in_progress and course in lecturer.courses_attached): if course in lecturer.grades: lecturer.grades[course].append(grade) else: lecturer.grades[course] = [grade] else: return 'Ошибка' class Mentor: def __init__(self, name, surname): self.name = name self.surname = surname self.courses_attached = [] class Lecturer(Mentor): def __init__(self, name, surname): super().__init__(name, surname) self.grades = {} class Reviewer(Mentor): def rate_hw(self, student, course, grade): if isinstance(student, Student) and course in self.courses_attached and course in student.courses_in_progress: if course in student.grades: student.grades[course].append(grade) else: student.grades[course] = [grade] lecturer = Lecturer('Иван', 'Иванов') reviewer = Reviewer('Пётр', 'Петров') student = Student('Алёхина', 'Ольга', 'Ж') student.courses_in_progress += ['Python', 'Java'] lecturer.courses_attached += ['Python', 'C++'] reviewer.courses_attached += ['Python', 'C++'] print(student.rate_lecture(lecturer, 'Python', 7)) # None print(student.rate_lecture(lecturer, 'Java', 8)) # Ошибка print(student.rate_lecture(lecturer, 'С++', 8)) # Ошибка print(student.rate_lecture(reviewer, 'Python', 6)) # Ошибка print(lecturer.grades) # Ожидаем: {'Python': [7]}