帮我写一个学生课程信息管理系统
时间: 2024-04-30 21:20:33 浏览: 16
好的,这是一个简单的学生课程信息管理系统的代码示例,你可以根据自己的需求进行修改和完善:
```python
class Course:
def __init__(self, name, credit, score):
self.name = name
self.credit = credit
self.score = score
class Student:
def __init__(self, name, id):
self.name = name
self.id = id
self.courses = []
def add_course(self, course):
self.courses.append(course)
def delete_course(self, name):
for course in self.courses:
if course.name == name:
self.courses.remove(course)
break
def get_gpa(self):
total_credit = 0
total_score = 0
for course in self.courses:
total_credit += course.credit
total_score += course.credit * course.score
return total_score / total_credit if total_credit != 0 else 0
class CourseManager:
def __init__(self):
self.courses = []
def add_course(self, course):
self.courses.append(course)
def delete_course(self, name):
for course in self.courses:
if course.name == name:
self.courses.remove(course)
break
def get_course(self, name):
for course in self.courses:
if course.name == name:
return course
return None
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def delete_student(self, id):
for student in self.students:
if student.id == id:
self.students.remove(student)
break
def get_student(self, id):
for student in self.students:
if student.id == id:
return student
return None
def main():
course_manager = CourseManager()
student_manager = StudentManager()
while True:
print("1. 新增课程")
print("2. 删除课程")
print("3. 新增学生")
print("4. 删除学生")
print("5. 添加学生课程")
print("6. 删除学生课程")
print("7. 查看学生课程信息")
print("8. 查看学生 GPA")
print("0. 退出")
choice = input("请输入数字选择操作: ")
if choice == '1':
name = input("请输入课程名称: ")
credit = float(input("请输入课程学分: "))
score = float(input("请输入课程分数: "))
course = Course(name, credit, score)
course_manager.add_course(course)
print("课程添加成功")
elif choice == '2':
name = input("请输入课程名称: ")
course_manager.delete_course(name)
print("课程删除成功")
elif choice == '3':
name = input("请输入学生姓名: ")
id = input("请输入学生学号: ")
student = Student(name, id)
student_manager.add_student(student)
print("学生添加成功")
elif choice == '4':
id = input("请输入学生学号: ")
student_manager.delete_student(id)
print("学生删除成功")
elif choice == '5':
id = input("请输入学生学号: ")
student = student_manager.get_student(id)
if student is None:
print("学生不存在")
else:
name = input("请输入课程名称: ")
course = course_manager.get_course(name)
if course is None:
print("课程不存在")
else:
student.add_course(course)
print("学生课程添加成功")
elif choice == '6':
id = input("请输入学生学号: ")
student = student_manager.get_student(id)
if student is None:
print("学生不存在")
else:
name = input("请输入课程名称: ")
student.delete_course(name)
print("学生课程删除成功")
elif choice == '7':
id = input("请输入学生学号: ")
student = student_manager.get_student(id)
if student is None:
print("学生不存在")
else:
print("课程列表:")
for course in student.courses:
print(course.name, course.credit, course.score)
elif choice == '8':
id = input("请输入学生学号: ")
student = student_manager.get_student(id)
if student is None:
print("学生不存在")
else:
print("GPA:", student.get_gpa())
elif choice == '0':
break
else:
print("无效的选择")
if __name__ == '__main__':
main()
```
这个系统包含了课程和学生两个类,以及课程管理和学生管理两个管理类。用户可以通过菜单选择需要的操作,例如新增课程、删除课程、新增学生、删除学生、添加学生课程、删除学生课程、查看学生课程信息、查看学生 GPA 等。你可以根据自己的需求进行修改和完善。