python装饰器练习
Posted ychdzx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python装饰器练习相关的知识,希望对你有一定的参考价值。
‘‘‘
名片管理系统
名片包含的信息有: 姓名,电话
功能要求:
1、增删改查
2、显示所有信息
‘‘‘
info_dict = {}
def add_info():
new_info = input(‘请依次输入联系人的姓名、电话,并以’,‘ 号隔开‘)
new_list = new_info.split(‘,‘)
info_dict[new_list[0]] = new_list[1]
# 删除、修改都需要用到查询,这里用到的数据结构是字典,所以直接用dict的操作函数即可
def find_info(fn):
def inner(info_key):
# info_key = input(‘输入要进行操做的姓名:‘)
if info_key in info_dict:
print(‘查到的联系人:{},电话:{}‘.format(info_key, info_dict[info_key]))
fn(info_key)
else:
print(‘没有这个人‘)
return inner
@find_info
def delete_ele(info_key):
info_dict.pop(info_key)
@find_info
def change_ele(info_key):
phone = input(‘请输入新的联系方式:‘)
info_dict[info_key] = phone
@find_info
def find_ele(info_key):
pass
while True:
print(‘1、添加‘)
print(‘2、删除‘)
print(‘3、修改‘)
print(‘4、查询‘)
print(‘5、所有内容‘)
print(‘6、退出‘)
i = int(input(‘请输入要进行的操作:‘))
if i == 1:
add_info()
continue
elif i == 2:
info_key = input(‘输入要进行删除的姓名:‘)
delete_ele(info_key)
continue
elif i == 3:
info_key = input(‘输入要进行修改的姓名:‘)
change_ele(info_key)
continue
elif i == 4:
info_key = input(‘输入要进行查询的姓名:‘)
find_ele(info_key)
continue
elif i == 5:
print(info_dict)
continue
elif i == 6:
conditions = input(‘确定要退出系统嘛?(输入yes or no)‘)
if conditions.lower() == ‘yes‘:
break
elif conditions.lower() == ‘no‘:
continue
else:
continue
以上是关于python装饰器练习的主要内容,如果未能解决你的问题,请参考以下文章