编写通讯录2

# 利用字典的特性编写一个通讯录,记录姓名和联系(contact)电话
# 新增加将通讯录储存到文件里,下次启动可以直接调用,而不是每次都归零
# 先新建一个空白的addressBook.txt
 1 welcome = """
 2 欢迎进入通讯录程序
 3 1:查找联系人资料
 4 2:插入新的联系人
 5 3:删除联系人
 6 4:退出程序
 7 """
 8 print(welcome)
 9 addressBook = {}
10 with open('addressBook.txt', 'r', encoding='GBK') as f:
11     for eachline in f.readlines():
12         each1 = eachline.strip('\n')
13         # print(each1.split(':'))
14         (name, phone) = each1.split(':')
15         addressBook[name] = phone
16 while True:  # 循环用来多次操作直到退出程序
17     try:
18         n = int(input('请输入相应的选项:'))
19     except Exception:
20         print('请输入正确的数字选项!')
21         continue
22     if n == 1:
23         name = input("请输入要查找的联系人:")
24         if name in addressBook:
25             print(name + ':' + addressBook[name])
26         else:
27             print('查无此人!')
28     elif n == 2:
29         name = input("请输入新的联系人姓名:")
30         if name in addressBook:
31             print(name + '已经在通讯录里面')
32         else:
33             phone = input("请输入新的联系人的联系电话:")
34             addressBook[name] = phone
35             with open('addressBook.txt', 'a+') as f:
36                 f.write(name + ':' + phone + '\n')
37             print(name + ':' + phone + '已添加')
38     elif n == 3:
39         name = input("请输入要删除的联系人:")
40         if not(name in addressBook):
41             print(name + '不在通讯录里面')
42         else:
43             del addressBook[name]
44             print(name + ':' + '已删除')
45     elif n == 4:
46         print('感谢使用通讯录,再见!')
47         break

 

posted @ 2020-10-21 09:57  龚志军Flagon  阅读(153)  评论(0编辑  收藏  举报