使用Pycharm 编写的学生管理系统
(1)使用自定义函数,完成对程序的模块化
(2)学生信息包括:姓名,性别和手机号
(3)系统具有增删查改的功能。
#定义系统菜单 stu_menu()函数 然后调用
def info_menu():
print('=============欢迎登录学生管理系统==============')
print('请选择功能:')
print('1.增加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.查询学生信息')
print('5.显示所有学生信息')
print('6.退出系统学生信息')
print('-'*22)
#全局变量 存储所有学生的信息
membership_info=[]
#增加学生功能函数
def adds_info():
"""添加学生函数"""
new_name = input('请输入学生姓名:')
new_sex = input('请输入学生性别:')
new_tel =input('请输入学生电话:')
#判断是否添加这个学生:如果学生姓名已经存在则报错提示;如果姓名不存在则添加学生数据
global membership_info
#不允许姓名重复:判断用户输入的姓名和列表里字典的name对应的值,如果相等则提示
for i in membership_info:
if new_name ==i['name']:
print('此用户已存在!')
#return :退出当先函数,后面添加信息的代码不执行
return
#如果输入的姓名不存在,添加数据:准备空字典,字典新添数据,列表追加字典
info_dict={}
#字典新数据
info_dict['name']=new_name
info_dict['sex']=new_sex
info_dict['tel']=new_tel
#print(info_dict)
#列表追加字典
membership_info.append(info_dict)
print(membership_info)
def del_info():
"""删除学生"""
#输入删除学生的姓名
del_name =input('请输入要删除的学生的姓名:')
#判断学生是否存在:存在则删除;不存在则提示
#声明membership_info是全局变量
global membership_info
#遍历列表
for i in membership_info:
#判断学生是否存在:存在则进行删除(列表里的字典),break:这个系统不允许重名,
# 删除了一个后面的不需要再遍历;不存在则提示
if del_name==i['name']:
#列表删除数据--按数据删除 remove
membership_info.remove(i)
break
else:
print('学生不存在')
print(membership_info)
def modify_info():
"""修改学生信息"""
#用户输入想要修改学生的姓名
modify_name =input('请输入要修改的学生的姓名:')
#判断学生是否存在:存在则修改手机号;不存在则提示
#声明membership_info是全局变量
global membership_info
#遍历列表,判断输入的姓名 == 字典['name']
for i in membership_info:
if modify_name==i['name']:
#将phone这个key修改值,并中止此循环
i['tel'] =input('请输入新的手机号:')
break
else:
print('该学生不存在')
print(membership_info)
def search_info():
"""查询学生信息"""
#输入目标学生姓名
search_name=input('请输入查询的学生的姓名:')
#检查学生是否存在:存在则打印出学生的信息;不存在则提示
#声明info为全局
global membership_info
for i in membership_info:
if search_name == i['name']:
#学生存在:打印信息并终止循环
print('学生的信息为==================================')
print(f"学生的姓名为"+i['name']+",性别为"+i['sex']+",电话号码为"+i['tel'])
break
else:
print('查无此人......')
def print_all():
"""显示所有学生的信息"""
print('姓名 性别 电话号码')
for i in membership_info:
print(i['name']+"\t"+i['sex']+"\t"+i['tel'])
while True:
#显示功能能页面
info_menu()
#用户输入功能
user_num = int(input('请输入功能序号:'))
#按照用户输入的功能序号,执行不同的功能(函数)
if user_num ==1:
adds_info()
elif user_num==2:
del_info()
elif user_num == 3:
modify_info()
elif user_num==4:
search_info()
elif user_num==5:
print_all()
elif user_num==6:
print('退出系统')
#退出终止 while Ture --break
exit_flag =input('确定退出吗?Y/N')
if exit_flag == 'Y':
break
else:
print('输入功能序号有误')
结果如下图