用python写学生管理系统面向对象有添加学生信息有删除学生信息有修改学生信息有查询所有学生信息和退出系统
时间: 2023-08-22 19:04:27 浏览: 99
好的,我可以帮你解答这个问题。以下是一个简单的面向对象的学生管理系统的代码实现,包括添加学生信息、删除学生信息、修改学生信息、查询所有学生信息和退出系统的功能:
```python
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
class StudentManagementSystem:
def __init__(self):
self.student_list = []
def add_student(self, name, age, grade):
student = Student(name, age, grade)
self.student_list.append(student)
print("学生信息添加成功!")
def delete_student(self, name):
for student in self.student_list:
if student.name == name:
self.student_list.remove(student)
print("学生信息删除成功!")
return
print("学生信息不存在!")
def update_student(self, name, age, grade):
for student in self.student_list:
if student.name == name:
student.age = age
student.grade = grade
print("学生信息修改成功!")
return
print("学生信息不存在!")
def query_all_students(self):
if len(self.student_list) == 0:
print("学生信息为空!")
else:
for student in self.student_list:
print("姓名:%s,年龄:%d,成绩:%d" % (student.name, student.age, student.grade))
def exit_system(self):
print("退出系统!")
sms = StudentManagementSystem()
while True:
print("1.添加学生信息")
print("2.删除学生信息")
print("3.修改学生信息")
print("4.查询所有学生信息")
print("5.退出系统")
choice = input("请输入要执行的操作:")
if choice == "1":
name = input("请输入学生姓名:")
age = int(input("请输入学生年龄:"))
grade = int(input("请输入学生成绩:"))
sms.add_student(name, age, grade)
elif choice == "2":
name = input("请输入要删除的学生姓名:")
sms.delete_student(name)
elif choice == "3":
name = input("请输入要修改的学生姓名:")
age = int(input("请输入学生年龄:"))
grade = int(input("请输入学生成绩:"))
sms.update_student(name, age, grade)
elif choice == "4":
sms.query_all_students()
elif choice == "5":
sms.exit_system()
break
else:
print("输入有误,请重新输入!")
```
在上述代码中,`Student`类表示一个学生对象,包含姓名、年龄和成绩三个属性。`StudentManagementSystem`类表示一个学生管理系统,包含添加学生、删除学生、修改学生、查询所有学生和退出系统五个方法。在主函数中,使用无限循环实现了一个简单的菜单,根据用户输入的不同选项执行相应的操作。
阅读全文