11# Exercise 78 - Simple University System
2- # Given the following
2+ # Given the following class definitions.
3+ # Implement the `Student` and `Professor` classes to inherit from the `Person` class.
4+
35from __future__ import annotations
46
57
68class Course :
79 def __init__ (self , course_name : str , course_code : str ):
810 self .course_name = course_name
911 self .course_code = course_code
10- self .professor = None
11- self .students = []
12+ self .professor : Professor | None = None
13+ self .students : list [ Student ] = []
1214
1315 def add_student (self , student : Student ):
1416 self .students .append (student )
@@ -26,29 +28,32 @@ def __init__(self, name: str, email: str):
2628 self .email = email
2729
2830
29- class Student (Person ):
31+ # Implement the `Student` and `Professor` classes to inherit from the `Person` class.
32+ class Student :
3033 def __init__ (self , name : str , email : str , student_id : str ):
3134 super ().__init__ (name , email )
3235 self .student_id = student_id
3336 self .enrolled_courses : list [Course ] = []
3437
35- def enroll (self , course : Course ):
36- self . enrolled_courses . append ( course )
37- course . add_student ( self )
38+ def enroll (self , course : Course ) -> None :
39+ # Your code should go here.
40+ ...
3841
39- def list_courses (self ):
40- return [course .course_name for course in self .enrolled_courses ]
42+ def list_courses (self ) -> list [str ]:
43+ # Your code should go here.
44+ ...
4145
4246
43- class Professor ( Person ) :
47+ class Professor :
4448 def __init__ (self , name : str , email : str , professor_id : str ):
4549 super ().__init__ (name , email )
4650 self .professor_id = professor_id
4751 self .taught_courses : list [Course ] = []
4852
49- def assign_course (self , course : Course ):
50- self . taught_courses . append ( course )
51- course . assign_professor ( self )
53+ def assign_course (self , course : Course ) -> None :
54+ # Your code should go here.
55+ ...
5256
53- def list_courses (self ):
54- return [course .course_name for course in self .taught_courses ]
57+ def list_courses (self ) -> list [str ]:
58+ # Your code should go here.
59+ ...
0 commit comments