/
Kotov_Nikolay
/
netology_python
Обзор
Документация
Войти
/
Kotov_Nikolay
/
netology_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
oop_task2.py
63 строки
2 KB
Kotov Nikolay
renamed
02 янв 2026, 19:45
02 янв 2026, 19:45
c9060da
Код
Авторство
О чём код?
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, lector, course, rate): if (isinstance(lector, Lecturer) and course in self.courses_in_progress and course in lector.courses_attached and 1<=rate<=10): if course in lector.grades: lector.grades[course] += [rate] else: lector.grades[course] = [rate] 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_hw(self, student, course, grade): if (isinstance(student, Student) and course in self.courses_attached and course in student.courses_in_progress and 1<=grade<=10): 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, 'C++', 8)) # Ошибка # !!! в задании значение course 'С++' внесено кириллицей print(student.rate_lecture(reviewer, 'Python', 6)) # Ошибка print(lecturer.grades) # {'Python': [7]}