def print_menu():
print("="*20)
print('欢迎使用通讯录')
print('1.添加联系人')
print('2.查看通讯录')
print('3.删除联系人')
print('4.修改联系人')
print('5.查找联系人')
print('6.退出')
print("="*20)
def add_lxr():
per_name = input('请输入联系人的姓名:')
per_num = input('请输入联系人的手机号:')
per_email = input('请输入联系人的邮箱:')
per_address = input('请输入联系人的地址:')
if per_name.strip() == '' or per_num.strip() == '' or per_email.strip() == '' or per_address.strip() == '':
print('请输入正确的信息') # str.strip() 消除字符串前后空格
else:
per_dict.update({'姓名':per_name,'手机号':per_num,'邮箱':per_email,'地址':per_address})
person_info.append(per_dict) # 将联系人加到通讯录里
print('保存成功')
def show_txl():
if len(person_info) == 0:
print('通讯录无信息')
else:
for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
print('--*'*6)
for title,info in i.items(): # 对字典i进行可迭代转换 [('姓名': '小米'),...]
print(title + ":" + info) # 姓名: 小米
print('--*'*6)
def del_lxr():
if len(person_info) != 0:
del_name = input('请输入要删除的联系人的姓名:')
for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
if del_name in i.values(): # 获得字典里的所有values值 ['小米',...]
person_info.remove(i) # 将 联系人dict 从 通讯录list列表 里删除
print(person_info)
print('删除成功')
else:
print('该联系人不在通讯录中')
def edit_lxr():
if len(person_info) != 0:
modi_name = input('请输入要修改的联系人的姓名:')
for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
if modi_name in i.values(): # 获得字典里的所有values值 ['小米',...]
modi_name = input('请输入联系人的姓名:')
modi_num = input('请输入联系人的手机号:')
modi_email = input('请输入联系人的邮箱:')
modi_address = input('请输入联系人的地址:')
# {'姓名': '小米', '手机号': '12345645', '邮箱': 'djfddjsa@dd.com', '地址': '安徽省'}
i.update(姓名 = modi_name)
i.update(手机号 = modi_num)
i.update(邮箱 = modi_email)
i.update(地址 = modi_address)
print(person_info)
print('修改成功')
else:
print('该联系人不在通讯录中')
def find_lxr():
if len(person_info) != 0:
query_name = input('请输入要查找的联系人的姓名:')
for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
if query_name in i.values(): # 获得字典里的所有values值 ['小米','12345645','djfddjsa@dd.com','安徽省'...]
print('--*'*6)
for title,info in i.items(): # 对字典i进行可迭代转换 [('姓名': '小米'),...]
print(title + ":" + info) # 姓名: 小米
print('--*'*6)
break # 已经找到后直接退出
else:
print('该联系人不在通讯录中')
def main():
print_menu()
while True:
fun_num = input('请输入功能序号:')
if fun_num == '1':
add_lxr()
elif fun_num == '2':
show_txl()
elif fun_num == '3':
del_lxr()
elif fun_num == '4':
edit_lxr()
elif fun_num == '5':
find_lxr()
elif fun_num == '6':
break
#程序的入口
person_info = []
per_dict = {}
if __name__ == '__main__':
main()
运行结果:
====================
欢迎使用通讯录
1.添加联系人
2.查看通讯录
3.删除联系人
4.修改联系人
5.查找联系人
6.退出
====================
请输入功能序号:1
请输入联系人的姓名:1
请输入联系人的手机号:1
请输入联系人的邮箱:1
请输入联系人的地址:1
保存成功
请输入功能序号:2
--*--*--*--*--*--*
姓名:1
手机号:1
邮箱:1
地址:1
--*--*--*--*--*--*
请输入功能序号:4
请输入要修改的联系人的姓名:1
请输入联系人的姓名:1
请输入联系人的手机号:2
请输入联系人的邮箱:2
请输入联系人的地址:2
[{'姓名': '1', '手机号': '2', '邮箱': '2', '地址': '2'}]
修改成功
请输入功能序号:2
--*--*--*--*--*--*
姓名:1
手机号:2
邮箱:2
地址:2
--*--*--*--*--*--*
请输入功能序号:5
请输入要查找的联系人的姓名:1
--*--*--*--*--*--*
姓名:1
手机号:2
邮箱:2
地址:2
--*--*--*--*--*--*
请输入功能序号:3
请输入要删除的联系人的姓名:1
[]
删除成功
请输入功能序号:2
通讯录无信息
请输入功能序号:6