python通讯录系统

---恢复内容开始---

对于一般的通讯录系统,主要有两个参数:姓名和电话号码,所以可以利用python编程里面的字典来进行建立之间的所属关系,

可以利用以下代码简单实现:

    1. print('|--- 欢迎进入通讯录程序 ---|')
    2. print('|--- 1:查询联系人资料  ---|')
    3. print('|--- 2:插入新的联系人  ---|')
    4. print('|--- 3:删除已有联系人  ---|')
    5. print('|--- 4:退出通讯录程序  ---|')
    6. contacts = dict()
    7. while 1:
    8.     instr = int(input('\n请输入相关的指令代码:'))
    9.    
    10.     if instr == 1:
    11.         name = input('请输入联系人姓名:')
    12.         if name in contacts:
    13.             print(name + ' : ' + contacts[name])
    14.         else:
    15.             print('您输入的姓名不再通讯录中!')
    16.     if instr == 2:
    17.         name = input('请输入联系人姓名:')
    18.         if name in contacts:
    19.             print('您输入的姓名在通讯录中已存在 -->> ', end='')
    20.             print(name + ' : ' + contacts[name])
    21.             if input('是否修改用户资料(YES/NO):') == 'YES':
    22.                 contacts[name] = input('请输入用户联系电话:')
    23.         else:
    24.             contacts[name] = input('请输入用户联系电话:')
    25.     if instr == 3:
    26.         name = input('请输入联系人姓名:')
    27.         if name in contacts:
    28.             del(contacts[name])         # 也可以使用dict.pop()
    29.         else:
    30.             print('您输入的联系人不存在。')           
    31.     if instr == 4:
    32.         break
    33. print('|--- 感谢使用通讯录程序 ---|')
    34. 具体实现结果如下所示:

使用条件语句的代码非常直观明了,但是效率不高。因为程序会两次访问字典的键,一次判断是否存在(例如 if name in contacts),一次获得值(例如 print(name + ' : ' + contacts[name])),如果利用异常解决方案,我们可以简单避开每次需要使用 in 判断是否键存在字典中的操作。因为只要当键不存在字典中时,会触发 KeyError 异常,利用此特性我们可以修改代码如下:

  1. print('|--- 欢迎进入通讯录程序 ---|')
  2. print('|--- 1:查询联系人资料  ---|')
  3. print('|--- 2:插入新的联系人  ---|')
  4. print('|--- 3:删除已有联系人  ---|')
  5. print('|--- 4:退出通讯录程序  ---|')
  6. contacts = dict()
  7. while 1:
  8.     instr = int(input('\n请输入相关的指令代码:'))
  9.    
  10.     if instr == 1:
  11.         name = input('请输入联系人姓名:')
  12.         try:
  13.             print(name + ' : ' + contacts[name])
  14.         except KeyError:
  15.             print('您输入的姓名不再通讯录中!')
  16.     if instr == 2:
  17.         name = input('请输入联系人姓名:')
  18.         try:
  19.             contacts[name] # 有点“为赋新词强说愁”的感觉
  20.             print('您输入的姓名在通讯录中已存在 -->> ', end='')
  21.             print(name + ' : ' + contacts[name])
  22.             if input('是否修改用户资料(YES/NO):') == 'YES':
  23.                 contacts[name] = input('请输入用户联系电话:')
  24.         except KeyError:
  25.             contacts[name] = input('请输入用户联系电话:')
  26.     if instr == 3:
  27.         name = input('请输入联系人姓名:')
  28.         try:
  29.             del(contacts[name]) # 也可以使用dict.pop()
  30.         except KeyError:
  31.             print('您输入的联系人不存在。')           
  32.     if instr == 4:
  33.         break
  34. print('|--- 感谢使用通讯录程序 ---|')

 

posted @ 2018-11-16 01:14  The-Chosen-One  阅读(1666)  评论(0编辑  收藏  举报