一、 应用:学院管理系统
1.1 系统简介
需求:进入系统显示系统功能界面
1)添加学员
2)删除学员
3)修改学员信息
4)查询学员信息
5)显示所有学员信息
6)推出系统
系统共6个功能,用户根据自己需求选取。
1.2 步骤分析
1)显示功能界面
2)用户输入功能序号
3)根据用户输入的功能序号,执行不同的功能(函数)
3.1 定义函数
3.2 调用函数
1.3 需求实现
# 定义功能界面函数 def info_print(): print('请选择功能----------------') print('1、添加学员') print('2、删除学员') print('3、修改学员信息') print('4、查询学员信息') print('5、显示说要学员信息') print('6、推出系统') print('-' * 25) # 系统功能需要循环使用,知道用户输入6,才推出系统 while True: # 1. 显示功能界面 info_print() # 2. 用户输入功能序号 user_num = int(input('请输入功能序号:')) # int转换数据类型 # 3. 按照用户输入的功能序号,执行不同的功能 if user_num == 1: print('1、添加学员') elif user_num == 2: print('2、删除学员') elif user_num == 3: print('3、修改学员信息') elif user_num == 4: print('4、查询学员信息') elif user_num == 5: print('5、显示说要学员信息') elif user_num == 6: print('6、推出系统') else: print('输入错误,请重新输入')
1.4 定义不同功能的函数
所有功能函数都是操作学员信息,所有存储所有学员信息应该是一个全局变量,数据类型为列表。
info = [ ]
1.4.1 添加学员
需求分析:
1. 接受用户输入学员信息,并保存
2. 判断是否添加学员信息
2.1 如果学员姓名已经存在,则报错提示
2.2 如果学员姓名不存在,则准备空字典,将用户输入的数据追加的字典,再列表追加字典数据
3. 对应的if条件成立的位置调用该函数
def add_info():
pass # 表示占位
4. 代码实现
# 添加学员信息的函数 def add_info(): """添加学员信息""" # 1. 用户输入:学号、姓名、手机号 new_id = input('请输入学号') new_name = input('请输入姓名') new_tel = input('请输入手机号') # 2. 判断是否添加这个学员:如果学员姓名已经存在报错提示,如果姓名不存在添加数据 # 声明全局变量 global info # 2.1 不允许姓名重复,判断用户输入的姓名 和 列表里面字典的name对应的值 相等 提示 for i in info: if new_name == i['name']: print('此用户已存在') return # 2.2 如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典 info_dict = {} # 字典新增数据 info_dict['id'] = new_id info_dict['name'] = new_name info_dict['tel'] = new_tel # print(info_dict) # 列表追加字典 info.append(info_dict) print(info)
1.4.2 删除学员
需求:
按用户输入的学员姓名进行删除
1. 用户输入目标学员姓名
2. 检查这个学员是否存在
2.1 如果存在,则列表删除这个数据
2.2 如果不存在,则提示“该用户不存在”
3. 对应的if条件成立的位置调用该函数
4. 代码实现
# 删除用户 def del_info(): """删除用户""" # 1. 用户输入要删除的学员姓名 del_name = input('输入要删除的用户姓名') # 2. 判断学员是否存在:存在则删除,不存在提示 # 2.1 声明info是全局变量 global info # 2.2 遍历列表 for i in info: # 2.3 判断学员是否存在:存在执行删除(列表里面的字典),break:这个系统不允许重名,删除了一个后面的不需要在遍历,不存在提示 if del_name == i['name']: # 列表删除数据 -- 按数据删除remove info.remove(i) break else: print('该用户不存在') print(info)标签:info,删除,管理系统,--,用户,学员,print,输入 From: https://www.cnblogs.com/yz-b/p/16709472.html