|
发表于 2021-5-24 09:11:15
|
显示全部楼层
本帖最后由 TC_DHL 于 2021-5-24 09:30 编辑
向字典增加键值对:dict [ key ] = value
如果字典内已经存在了同名的key,value就会被修改
dict.update(dict2)
有相同的键会直接替换成 update 的值
- print('|--- 欢迎进入通讯录程序 ---|')
- print('|--- 1:查询联系人资料 ---|')
- print('|--- 2:插入新的联系人 ---|')
- print('|--- 3:删除已有联系人 ---|')
- print('|--- 4:退出通讯录程序 ---|')
- phonebook = {}
- directives = (1, 2, 3, 4)
- while True:
- num = int(input("请输入相关的指令代码:"))
- if num not in directives:
- print("您输入的指令代码不对")
- continue
- elif num == 1:
- name = input("请输入待查找联系人姓名:")
- if name not in phonebook:
- print("查无此人")
- continue
- else:
- print("{0} : {1}".format(name, phonebook.get(name))) # a.get获得字典键值对应的项。
- elif num == 2:
- new_directives = {}# 新增的代码
- name = input("请输入待增加联系人姓名:")
- if name in phonebook:
- print("您输入的联系人在通讯录中已存在 -->> {0} : {1}".format(name, phonebook[name]))
- judgement = input("是否修改%s的电话号码(Y/N):" % name)
- if judgement == "Y":
- new_phonenumber = input("请输入%s新的电话号码:" % name)
- new_directives.setdefault(name, new_phonenumber)# 新增的代码
- #phonebook[name] = new_phonenumber # 字典唯一性,更新项。不能用phonebook.update()
- phonebook.update(new_directives)
- # print(new_directives)
- elif judgement == "N":
- continue
- """else:
- judgement = input("您输入的指令有误,请重新输入(Y/N):")
- continue"""
- else:
- phonenumber = input("请输入待增加联系人电话号码:")
- phonebook.setdefault(name, phonenumber) # 查找字典,若没有对应键值,则自动添加,注意与get的区别
- elif num == 3:
- name = input("请输入待删除联系人姓名:")
- if name not in phonebook:
- print("查无此人")
- continue
- else:
- temp = input("确认删除%s的电话号码吗(Y/N):" % name)
- if temp == "Y":
- phonebook.pop(name) # 弹出给定键的值并从字典中删除该键
- print("%s的电话号码已删除!" % name)
- continue
- else:
- continue
- elif num == 4:
- print("|--- 感谢使用通讯录程序 ---|")
- break
- print(phonebook)
复制代码 |
|