4.修改之前的学生管理系统,实现添加菜单和选择菜单操作功能
菜单:
+-----------------------------------------------+
| 1)添加学生信息 |
| 2)查看所有学生信息 |
| 3)修改学生的成绩 |
| 4)删除学生的信息 |
| q) 退出 |
+------------------------------------------------+
请选择:1
请输入姓名:。。。
请选择:3
请输入修改学生的姓名:。。。
(每个功能都对应一个函数)
l = [{"name":"小猪","age":21,"score":90},{"name":"大白","age":13,"score":90}]
# 添加学生信息
def add_student():
while 1:
name = input("请输入学生姓名:")
if not name:
break
age = int(input("请输入学生年龄:"))
score = int(input("请输入学生成绩:"))
d = {} # 创建一个新的字典
d["name"] = name # 值 对 键
d["age"] = age
d["score"] = score
l.append(d)
# 查看学生信息
def output_student():
print("+-------------+-------+----------+")
print("| name | age | score |")
print("+-------------+-------+----------+")
for d in l:
t = ((d["name"]).center(11),
str(d["age"]).center(7),
str(d["score"]).center(10))
line = "|%s|%s|%s|" % t # t是元祖
print(line)
print("+-------------+-------+----------+")
# 修改学生信息
def alter_student():
while 1:
i=input("请输入要修改的学生姓名:")
if not i:
break
for x in l:#遍历l中的字典
if x["name"]==i:
x["age"] = int(input("请输入新的学生年龄:"))
x["score"] = int(input("请输入新的学生成绩:"))
print("已成功修改",i,"的信息!")
break
else:
print("没有找到姓名为",i,"的学生!")
# 删除学生信息
def delete_student():
while 1:
i=input("请输入要删除的学生姓名:")
if not i:
break
for a in l:#遍历l中的字典
if a["name"]==i:
l.pop(l.index(a))
print("已成功删除名为",i,"的学生信息!")
break
else:
print("没有找到名为",i,"的学生!")
def show_menu():
print("+------------------------+")
print("| 1)添加学生信息 |")
print("| 2)查看所有学生信息 |")
print("| 3)修改学生信息 |")
print("| 4)删除学生信息 |")
print("| q)退出 |")
print("+-------------------------+")
# 主函数
def main():
show_menu()
while 1:
n=input("请输入要操作的序号:")
if n=="1":
add_student()
if n=="2":
output_student()
if n=="3":
alter_student()
if n=="4":
delete_student()
if n=="q"or n=="Q":
exit()
main()