python选课系统
时间: 2023-12-07 10:39:36 浏览: 86
以下是一个简单的Python选课系统的示例,它使用了面向对象的思想进行设计:
```python
class Course:
def __init__(self, name, capacity):
self.name = name
self.capacity = capacity
self.students = []
def enroll(self, student):
if len(self.students) < self.capacity:
self.students.append(student)
print(f"{student.name} has successfully enrolled in {self.name} course!")
else:
print(f"Sorry, {self.name} course is already full.")
def drop(self, student):
if student in self.students:
self.students.remove(student)
print(f"{student.name} has successfully dropped {self.name} course!")
else:
print(f"{student.name} is not enrolled in {self.name} course.")
class Student:
def __init__(self, name):
self.name = name
self.courses = []
def enroll(self, course):
course.enroll(self)
self.courses.append(course)
def drop(self, course):
course.drop(self)
self.courses.remove(course)
# 创建两个课程对象
math_course = Course("Math", 2)
english_course = Course("English", 1)
# 创建两个学生对象
alice = Student("Alice")
bob = Student("Bob")
# Alice尝试选Math课
alice.enroll(math_course)
# Bob尝试选Math课
bob.enroll(math_course)
# Alice尝试再选Math课
alice.enroll(math_course)
# Bob尝试选English课
bob.enroll(english_course)
# Bob退选Math课
bob.drop(math_course)
# Alice尝试再选Math课
alice.enroll(math_course)
```
运行上述代码后,输出如下:
```
Alice has successfully enrolled in Math course!
Bob has successfully enrolled in Math course!
Sorry, Math course is already full.
Bob has successfully enrolled in English course!
Bob has successfully dropped Math course!
Alice has successfully enrolled in Math course!
```