设计内容:
编写一个学生管理系统,该系统可实现学生信息的注册、查询、删除、修改、退出系统功能。学生信息至少包含:姓名、年龄、学号,除此以外可以适当添加。
设计要求:
- 定义学生类,对学生的属性信息、方法信息进行封装。
- 使用列表存储学生信息。
- 实现对数据的增、删、改、查。
- 要求关键代码有注释。每个函数的声明前加上注释, 描述该函数的功能和用途;类和对象有属性注释、方法注释。
- 简易异常处理
class Student:
def __init__(self, student_list):
self.student_list = student_list
def register(self):
stu_dict = {}
name = input("请输入学生的名字:")
id = eval(input("请输入学生的学号:"))
score = eval(input("请输入学生的分数:"))
stu_dict["name"] = name
stu_dict["id"] = id
stu_dict["score"] = score
if stu_dict not in self.student_list:
self.student_list.append(stu_dict)
print("插入成功\n")
else:
print("该信息已经被注册过,请重新输入")
def querry(self):
name = input("请输入学生的名字:")
id = eval(input("请输入学生的学号:"))
for i in range(0,len(self.student_list)):
if self.student_list[i]["name"] == name and self.student_list[i]["id"] == id:
print("该学生的信息为:{}\n".format(self.student_list[i]))
break
else:
print("查无此人")
def delete(self):
name = input("请输入学生的名字:")
id = eval(input("请输入学生的学号:"))
for i in range(0,len(self.student_list)):
if self.student_list[i]["name"] == name and self.student_list[i]["id"] == id:
print("删除学生:{}\n".format(self.student_list[i]))
del self.student_list[i]
break
else:
print("未找到需要删除的学生")
def motify(self):
name = input("请输入学生的名字:")
id = eval(input("请输入学生的学号:"))
for i in range(0, len(self.student_list)):
if self.student_list[i]["name"] == name and self.student_list[i]["id"] == id:
print("修改学生信息:{}".format(self.student_list[i]))
name_new = input("请输入新的学生的名字:")
id_new = eval(input("请输入新的学生的学号:"))
score_new = eval(input("请输入新的学生的分数:"))
self.student_list[i]["name"] = name_new
self.student_list[i]["id"] = id_new
self.student_list[i]["score"] = score_new
print("修改成功\n")
else:
print("未找到需要修改的学生")
def print_all(self):
for i in range(0, len(self.student_list)):
print("{}".format(self.student_list[i]))
if __name__ == '__main__':
class1_list = []
calss1_stu = Student(class1_list)
while 1:
print("1、注册学生信息")
print("2、查询学生信息")
print("3、删除学生信息")
print("4、修改学生信息")
print("5、打印所有学生信息")
print("6、退出系统")
choice = eval(input("请选择需要进行的操作:"))
if choice == 1:
calss1_stu.register()
continue
elif choice == 2:
calss1_stu.querry()
continue
elif choice == 3:
calss1_stu.delete()
continue
elif choice == 4:
calss1_stu.motify()
continue
elif choice == 5:
calss1_stu.print_all()
continue
elif choice == 6:
break
else:
print("没有该选项,请重新输入...")
continue