"""
学员信息管理系统
1,添加 2,删除 3,修改 4,查询 5,显示所有,6退出
"""
# 等待存储所有学员信息
info = []
# 学员管理系统主页面显示
def main_stu():
print('#' * 20)
print('1.添加\t2.删除 \t3.修改')
print('4.查找\t5.显示所有\t6.退出')
print('#' * 20)
# 增加学员信息的函数
def add_info():
"""
增加学员的函数
:return:
"""
# 输入 学号,姓名,电话
new_id = input('请输入学号:')
new_name = input('请输入姓名:')
new_mobile = input('请输入手机号:')
# 判断姓名是否存在
global info # 将info定义为全局变量,如果这里不定义,info 变量的变化值,只在当前的函数里生效。
for i in info: # 遍历 info 列表,拆分为多个 字典
if new_name == i['Name']: # 选择i字典 key , 得到 字典 的 value 给 new_name.
print(f'{new_name} 用户已经存在, 不能增加!')
# 重点:return 后没有表达式,退出当前 add_info 函数。
return # 如果没有 return , 会继续执行函数下面的语句,造成重复 Name .
info_dict = {} # 生成空字典
# 字典元素的增加和修改: 如果key存在,修改key的值,如果不存在,就增加key和value
# # 增加学员到字典, ‘ID’ ‘Name’ ‘Tel’ 为字典的 key 值
info_dict['ID'] = new_id
info_dict['Name'] = new_name
info_dict['Tel'] = new_mobile
print(info_dict)
info.append(info_dict) # 字典增加到列表info
print(info)
def del_info():
"""
删除学员:删除info列表中的字典()
:return:
"""
global info
print(f'当前的学员列表信息为{info}')
del_name = input('你想删除的学员名字:')
for i in info:
if del_name == i['Name']:
info.remove(i)
break
else: # else 与 for 循环平级, 表示 for 循环所有遍历完成后(没有被break中断),
# 没有执行if内语句。才执行 else 语句。
print(f'没有找到{del_name}, 选择其它功能')
print(f'删除后的用户列表{info}')
def modify_info():
"""
修改用户信息,根据名字,修改ID和电话
:return:
"""
global info
print(f'当前的学员列表信息为{info}')
modify_name = input(f'输入需要修改的用户名字:')
for i in info:
if modify_name == i['Name']:
# 引号的嵌套,外层和内层必须区分:外层双引,内层就单引;外层单引,内层就双引。
print(f"现ID为{i['ID']}, 现电话号码为 {i['Tel']}")
i['ID'] = input('输入新ID号:') # i字典的ID键 对应的 值 = input 输入
i['Tel'] = input('输入新的电话号码:')
break
else:
print(f'没有{modify_name},无需修改')
print(f'修改后的用户列表{info}')
def search_info():
"""
根据输入的用户名,查询此用户的所有信息
:return:
"""
search_name = input('输入要查询的用户名字:')
global info
for i in info:
if search_name == i['Name']:
print('-' * 30)
print(f'{search_name} 用户的所有信息是 {i}')
# 引号的嵌套,外层和内层必须区分:外层双引,内层就单引;外层单引,内层就双引。
print(f"{search_name} 用户的ID是{i['ID']}, 姓名是{i['Name']}, 电话号码是{i['Tel']}")
break
else:
print(f'没有找到 {search_name} !')
def print_all():
global info
"""显示所有用户信息"""
print('显示所有学员信息')
print('学号\t姓名\t电话')
for i in info:
print(f"{i['ID']}\t{i['Name']}\t{i['Tel']}")
while True:
main_stu()
stu_select = int(input('输入数字1-6,选择功能:'))
if stu_select == 1:
add_info()
elif stu_select == 2:
del_info()
elif stu_select == 3:
modify_info()
elif stu_select == 4:
search_info()
elif stu_select == 5:
print_all()
elif stu_select == 6:
# 终止 while True 循环
exit_flag = input('确定要退出系统吗? yes or no :')
if exit_flag == 'yes':
print('系统已退出系统')
break
else:
print('输入不正确')
main_stu()
Python 学员信息统计系统,函数调用
最新推荐文章于 2024-11-09 21:51:27 发布