本帖最后由 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)
|