/
Argentovsky
/
Python_OOP
Обзор
Документация
Войти
/
Argentovsky
/
Python_OOP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
DS_OOP_2.py
64 строки
2 KB
Argent Harry
DS_2_done
21 июн 2025, 10:04
21 июн 2025, 10:04
670ea1a
Код
Авторство
О чём код?
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, lecture, course, grade): if isinstance(lecture, Lecturer) and course in self.courses_in_progress and course in lecture.courses_attached: if course in lecture.grades: lecture.grades[course] += [grade] else: lecture.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 __init__(self, name, surname): super().__init__(name, surname) def rate_student(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] += [grade] else: student.grades[course] = [grade] else: return 'Ошибка' 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(reviewer.rate_student(student, 'Python', 9)) # None print(lecturer.grades) # {'Python': [7]} print(student.grades)