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