博文配套视频课程:24小时实现从零到AI人工智能
EMS项目之删除与更新
接着上一章节的内容完成EMS的删除与更新功能模块
EMS员工添加
input系统函数在接受用户输入时都会把用户输入转化为string类型。python3.6以上的版本支持f格式化的方式输出
elif choose == '2':
p = {} # 创建一个用来存储员工的字典类型
p['no'] = int(input('请输入员工编号'))
p['name'] = input('请输入员工姓名')
p['age'] = int(input('请输入员工年龄'))
print('编号:%d,姓名:%s,年龄:%d' % (p['no'],p['name'],p['age']))
confirm = input('输入员工信息如上,是否确认添加')
if confirm in ('y','Y'):
emps.append(p)
EMS删除功能实现
如果员工的类型是数值型,则通过input接收员工类型时需要进行类型转化,可以通过特有的for else结构优化删除模块
elif choose == '3':
# 根据员工编号进行删除
no = int(input('请输入要删除员工的编号:'))
have = False # 用来判断循环是否正常退出
for temp in emps:
if temp['no'] == no:
print('编号:%d \t 姓名:%s \t 年龄:%d' % (temp['no'],temp['name'],temp['age']))
# 删除时进行确认
if input('确认删除该员工(y/Y)') in ('Y','y'):
emps.remove(temp) #真正删除
# 已经找到该员工,因此循环提前终止!
have = True
break
if not have:
print('没有此员工!')
EMS更新模块实现
通过员工编号的判断,如果判断正确接收新的员工信息
elif choose == '4':
no = input('请输入要更新员工编号')
for d in emp:
# 判断当前员工的编号
if d['no'] == no:
# 更新员工信息
d['name'] = input('输入新的员工姓名')
d['age'] = input('输入新的员工年龄')
print('员工更新成功!')
break # 终止while/for循环
else: # for 循环的else
print('员工编号输入有误!')