Python 学生管理系统def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生") print(" 3:修改学生") print(" 4:查询学生") print(" 5:显示所有学生") print(" 6:退出系统") print("---------------------------")完成以上功能,用面向对象代码实现
时间: 2023-07-05 21:26:52 浏览: 70
好的,以下是使用面向对象方式实现 Python 学生管理系统的代码:
```python
class Student:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def __str__(self):
return "姓名:%s,年龄:%s,性别:%s" % (self.name, self.age, self.gender)
class StudentManagementSystem:
def __init__(self):
self.students = {}
def print_menu(self):
print("---------------------------")
print(" 学生管理系统 V1.0")
print(" 1:添加学生")
print(" 2:删除学生")
print(" 3:修改学生")
print(" 4:查询学生")
print(" 5:显示所有学生")
print(" 6:退出系统")
print("---------------------------")
def add_student(self):
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
student = Student(name, age, gender)
self.students[name] = student
print("添加成功!")
def delete_student(self):
name = input("请输入要删除的学生姓名:")
if name in self.students:
del self.students[name]
print("删除成功!")
else:
print("该学生不存在!")
def modify_student(self):
name = input("请输入要修改的学生姓名:")
if name in self.students:
age = input("请输入新的学生年龄:")
gender = input("请输入新的学生性别:")
student = Student(name, age, gender)
self.students[name] = student
print("修改成功!")
else:
print("该学生不存在!")
def query_student(self):
name = input("请输入要查询的学生姓名:")
if name in self.students:
print(self.students[name])
else:
print("该学生不存在!")
def show_all_students(self):
if len(self.students) == 0:
print("暂无学生信息!")
else:
print("姓名\t年龄\t性别")
for name in self.students:
print(self.students[name])
def start(self):
while True:
self.print_menu()
choice = input("请输入您的选择:")
if choice == "1":
self.add_student()
elif choice == "2":
self.delete_student()
elif choice == "3":
self.modify_student()
elif choice == "4":
self.query_student()
elif choice == "5":
self.show_all_students()
elif choice == "6":
print("谢谢使用,再见!")
break
else:
print("输入有误,请重新输入!")
# 主程序
if __name__ == "__main__":
sms = StudentManagementSystem()
sms.start()
```
在这个版本中,我们定义了一个 `Student` 类来表示学生,其中包含学生的姓名、年龄和性别。然后我们定义了一个 `StudentManagementSystem` 类来管理学生信息,其中包含了添加、删除、修改、查询和显示所有学生信息的方法。在程序的主函数中,我们创建了一个 `StudentManagementSystem` 对象并调用了它的 `start` 方法,用于启动学生管理系统。
阅读全文