#设计一个学生管理系统,实现增删改查遍历退出功能
def tianjia():#添加学生信息
name = input('请输入学生姓名:')
id = input('请输入学生学号(学号不可重复):')
nianling = input('请输入学生年龄:')
print('添加成功!')
return id, name, nianling
def shanchu():#删除学生信息
id = input('请输入要删除的学生学号:')
print('删除成功!')
return id
def xiugai():#修改学生信息
id = input('请输入要修改的学生学号:')
id_gai=input('请输入更改后的学号:')
return id,id_gai
def chaxun():#查询单个学生信息
print('您选择了查询学生信息功能')
id=input('请输入您要查询的学生学号:')
return id
def bianli():#遍历所有学生信息
print('*' * 20)
print('接下来进行遍历所有的学生信息......')
if __name__=='__main__':
xitong = {}#创建存储学生信息的字典
biaoqian=['stuId','姓名','年龄']#创建标签列表
while True:
# print顺序输出字符信息
print('=' * 20)
print(' 学生管理系统 ')
print(' 1.添加学生的信息')
print(' 2.删除学生的信息')
print(' 3.修改学生的信息')
print(' 4.查询学生的信息')
print(' 5.遍历所有学生的信息')
print(' 0.退出系统')
print('=' * 20)
n = int(input('请选择功能(序号):')) # 用户输入序号以便进行后续操作
if n==1:#添加
id, name, nianling=tianjia()#调用函数,获取学号、姓名、年龄信息
xitong[id]=[name,nianling]
print(xitong)
input('按回车键返回主界面')#避免立即返回
elif n==2:#删除
id=shanchu()#调用函数
del xitong[id]
print(xitong)
input('按回车键返回主界面')
elif n==3:#修改
id,id_gai=xiugai()#调用函数
t=xitong.pop(id)
if id_gai in xitong:
print('输入学号不可重复,修改失败!')
xitong[id]=t#修改失败,则保留原信息
else:
xitong[id_gai]=t
print('修改成功!')
print(xitong)
input('按回车键返回主界面')
elif n==4:#查询
id=chaxun()#调用函数
if id in xitong:
print('找到此学生,信息如下:')
print(f'{biaoqian[0]:^10}{biaoqian[1]:^10}{biaoqian[2]:^10}')#单个信息长度为10居中显示
print(f'{id:^10}{xitong[id][0]:^10}{xitong[id][1]:^10}')
else:
print('未找到此学生,返回主界面')
input('按回车键返回主界面')
elif n==5:#遍历
bianli()#调用函数
print(f'{biaoqian[0]:^10}{biaoqian[1]:^10}{biaoqian[2]:^10}')
for id in xitong.keys():
print(f'{id:^10}{xitong[id][0]:^10}{xitong[id][1]:^10}')
print('*' * 20)
input('按回车键返回主界面')
elif n==0:#退出
break
else:
pass
print('退出系统成功!')