前面,我们已经接触到函数,从简单入门到高阶函数,这里则使用函数,实现一个简单的学员管理系统,基本功能包括:对数据的增删改查:
# coding=utf-8
# author:Maria
# date:2023/5/20 19:34
"""数据存储仓库"""
stu_list = [
{'id': 1, 'name': '苏白衣', 'tel': '111111'},
{'id': 2, 'name': '素年', 'tel': '222222'},
{'id': 3, 'name': '崔东山', 'tel': '333333'},
]
"""显示功能界面"""
def welcome():
print("""
========欢迎进入学生管理系统,请选择需要实现的功能========
******** 1. 添加学员信息 ********
******** 2. 删除学员信息 ********
******** 3. 修改学员信息 ********
******** 4. 查找学员信息 ********
******** 5. 退出当前系统 ********
""")
"""获取用户选择的功能"""
def choose_need_num():
need_num = input("请选择你需要的功能:")
if need_num not in ['1', '2', '3', '4', '5']:
return -1
return int(need_num)
# 主函数
def main():
while True: # 一直循环运行,直到需要退出时才结束
welcome()
num = choose_need_num()
if num == -1:
print('编号输入有误,请重新输入:')
if num == 1:
print('----请添加学员信息----')
add_stu()
elif num == 2:
print('----请选择需要删除的学员信息----')
del_stu()
elif num == 3:
print('----请修改学员信息----')
change_stu()
elif num == 4:
print('----请输入需要查找的学员信息----')
find_stu()
elif num == 5:
print('退出当前系统.')
break
"""添加学员信息"""
def add_stu():
flag = True # 设置一个标识,用于改变循环条件
while flag:
new_id = int(input("请输入学号:"))
new_name = input("请输入姓名:")
new_tel = input("请输入联系电话:")
# 定义一个空字典,用于接收新增数据
dict_data = {}
dict_data['id'] = new_id
dict_data['name'] = new_name
dict_data['tel'] = new_tel
if dict_data in stu_list:
print('该学员已存在,请重新添加。')
else:
stu_list.append(dict_data)
print(f'学员信息:{new_name},新增成功。')
print(stu_list)
add_next = input('是否继续添加(1 继续;2 返回):')
if add_next == '2':
flag = False # 如果返回,则结束循环
"""删除学员信息"""
def del_stu():
flag = True
while flag:
stu_id = int(input('请输入你要删除的学员ID:'))
for data in stu_list:
if data['id'] == stu_id:
stu_list.remove(data)
print('删除成功')
print(stu_list)
break
else:
print('要删除的学员信息不存在,请重新输入:')
del_next = input('是否需要继续删除:(1 继续;2 返回):')
if del_next == '2':
flag = False
"""修改学员信息"""
def change_stu():
flag = True
while flag:
stu_id = int(input('请输入你需要修改的学员ID:'))
for data in stu_list:
if data['id'] == stu_id:
data['id'] = int(input('请输入修改后的学员ID:'))
data['name'] = input('请输入修改后的学员姓名:')
data['tel'] = input('请输入修改后学员的联系方式:')
print('学员信息,修改成功')
break
else:
print('需要修改的学员信息不存在,请重新输入:')
change_next = input('请选择是否继续修改(1 继续; 2 返回):')
if change_next == '2':
flag = False
print(stu_list)
"""查找学员信息"""
def find_stu():
flag = True
while flag:
stu_id = input('请输入你需要查找的学员姓名:')
for data in stu_list:
if data['name'] == stu_id:
print(f'这是你要查找的学员信息:{data}')
break
else:
print('你要查找的数据不存在,请重新输入:')
find_next = input('是否需要继续查找(1 继续;2 返回):')
if find_next == '2':
flag = False
# 程序入口
if __name__ == '__main__':
main()