学生管理系统案例(改进版)
# 定义功能界面函数
def info_print():
print(" 请选择功能 :")
print("1 、添加学生 ")
print("2 、删除学生 ")
print("3 、修改学生 ")
print("4 、查询学生 ")
print("5 、查看所有学生 ")
print("6 、退出 ")
print("-" * 20)
# 存储学员信息变量 ,使用列表
info = [
{'tel': '110', 'id': '1', 'name': ' 小敬 '},
{'tel': '119', 'id': '2', 'name': ' 小火 '},
{'tel': '120', 'id': '3', 'name': ' 小护 '}
]
# 添加学生信息
def add_info():
""" 添加学生的函数 """
''' 1 、用户输入学生的学号、姓名、手机号 '''
new_id = input(" 请输入学号: ")
new_name = input(" 请输入姓名: ")
new_tel = input(" 请输入手机号: ")
'''2 、判断是否添加这个学员,如果学员的姓名已经存在,报错提示,如果姓名不存在
则添加学员信息'''
# 2.1 设置全局变量
global info
for i in info:
if new_name == i['name']:
print(" 该用户已存在 ")
return # 外汇跟单gendan5.com 退出当前函数,后面添加信息的代码不执行
# 如果输入的姓名不存在,添加数据,准备一个空的字典,列表追加到字典中
info_dict = {}
# 字典新增数据 key,value
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
''' 注意:函数体内访问全局变量,需要用 global 做修饰!!! '''
# 列表追加字典
info.append(info_dict)
print(info)
# 删除学生信息
def del_info():
""" 删除学生的函数 """
# 1 、用户输入要删除的学生的姓名
del_name = input(" 请输入要删除的学生的姓名: ")
# 2 、判断输入的学生是否存在,如果存在则删除,不存在则提示信息
# 2.1 设置全局变量
global info
# 2.2 循环遍历 info 检查是否存在
for i in info:
if del_name == i['name']:
info.remove(i)
break
else: # 对应的 for 循环, for 循环结束后的操作
print(" 该学员不存在 ")
print(info)
# 修改学生信息
def mod_info():
""" 修改学员信息的函数 """
mod_name = input(" 请输入要修改的学生姓名: ")
global info
for i in info:
if mod_name == i['name']:
i['tel'] = input(" 请输入新的手机号: ")
print(" 修改成功 ")
break
else:
print(" 学生不存在 ")
# 查找学生信息
def search_info():
""" 查询学生信息函数 """
search_name = input(" 请输入要查找的学生姓名 ")
global info
for li in info:
if search_name == li['name']:
print("name:%s id:%s tel:%s" % (li['name'], li['id'], li['tel']))
else:
print(" 学生不存在 ")
def all_info():
""" 查看所有学生信息函数 """
global info
for li in info:
print("name:%s id:%s tel:%s" % (li['name'], li['id'], li['tel']))
if __name__ == '__main__':
while True:
# 1 、显示功能界面
info_print()
# 2 、用户输入功能序号
user_num = input(" 请输入功能序号 ")
if user_num == '1':
add_info()
elif user_num == '2':
del_info()
elif user_num == '3':
mod_info()
elif user_num == '4':
search_info()
elif user_num == '5':
all_info()
elif user_num == '6':
print(" 退出系统 ")
break