生成一套多对多的学生选课代码
时间: 2024-05-05 15:20:42 浏览: 81
大学生选课代码
以下是一个简单的多对多学生选课代码示例:
```
class Student:
def __init__(self, name):
self.name = name
self.courses = []
def add_course(self, course):
self.courses.append(course)
course.add_student(self)
def remove_course(self, course):
self.courses.remove(course)
course.remove_student(self)
class Course:
def __init__(self, name):
self.name = name
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student):
self.students.remove(student)
# 创建学生和课程对象
s1 = Student("Alice")
s2 = Student("Bob")
s3 = Student("Charlie")
c1 = Course("Math")
c2 = Course("History")
c3 = Course("Science")
# 学生选课
s1.add_course(c1)
s1.add_course(c2)
s2.add_course(c1)
s3.add_course(c2)
s3.add_course(c3)
# 打印学生和课程信息
for student in [s1, s2, s3]:
print(f"{student.name}选修了以下课程:")
for course in student.courses:
print(f"\t{course.name}")
for course in [c1, c2, c3]:
print(f"{course.name}的学生有:")
for student in course.students:
print(f"\t{student.name}")
```
这段代码创建了两个类:`Student` 和 `Course`。`Student` 表示学生,包含学生姓名和选修的课程列表。`Course` 表示课程,包含课程名称和选修该课程的学生列表。学生可以选修多门课程,而一门课程也可以被多名学生选修。
在示例中,我们创建了三个学生对象和三个课程对象,并让学生选修课程。然后打印每个学生选修的课程和每门课程的学生列表。
阅读全文