为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的 Python 电话簿程序中的字典查找不起作用?

为什么我的 Python 电话簿程序中的字典查找不起作用?

喵喵时光机 2023-08-08 16:49:28
我希望用 Python 创建一个电话簿系统,如下图所示,它允许用户添加、删除、更新和查找电话号码。请参阅下面我的代码。选项 1、2、3 和 5 工作正常,但是选项 4 不起作用,我不知道为什么。当我使用选项 1 添加新条目,然后立即尝试使用选项 4 查找该条目时,它告诉我该条目不存在,但它显然不存在。我是否遗漏了什么?(相关代码部分以“elif Selection == 4:”开头)def intro():    welcome = ("                                     \n"               "#####################################\n"               "MYPY PHONE BOOK\n"               "#####################################\n"               "1 : Add New Entry\n"               "2 : Delete Entry\n"               "3 : Update Entry\n"               "4 : Lookup Number\n"               "5 : QUIT\n"               "")    selection = input(welcome)    return int(selection)phoneBook = {}while True:    selection = intro()    if selection == 1:        number = input("Enter phone number: ")        name = input("Enter name: ")        if number in phoneBook:            print("                               \n"                  "* Number already in phonebook *")        else:            phoneBook.update({number : name})            print("                               \n"                  "* Name and number added to phone book *")            print(phoneBook)    elif selection == 2:        number2 = input("Enter phone number to be deleted: ")        if number2 in phoneBook:            phoneBook.pop(number2)            print("                               \n"                  "* Number deleted from phone book *")            print(phoneBook)
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

您使用名称作为字典的键还是数字作为键?

在选择 4 中,您这样做了if name4 in phoneBook:...,但是,在代码的其他部分,您似乎使用数字作为键。使用字典,您可以使用 来检查某个键是否在字典中key in dictionary。另一方面,如果你想检查一个值是否在字典中,你可以这样做:

for val in dictionary.values(): 
    if val == value:
        ...

一探究竟 ;)


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信