Python 我做了一本字典,当我输入单词时,它说这个单词在字典里不存在,为什么?

Python 我做了一本字典,当我输入单词时,它说这个单词在字典里不存在,为什么?,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,在这个程序中,我正在制作一本字典 当我运行该程序并在菜单中输入1时,该程序要求我搜索含义,但当我键入单词404(在字典中)时,它会说单词在字典中不存在。这个问题是从哪里来的 print("This is a dictioinary") print("\t\t\tWelcome to Geek Translator Game") dictionary={"404":"Message not found","googler":"person who seaches on google"} choos

在这个程序中,我正在制作一本字典

当我运行该程序并在菜单中输入
1
时,该程序要求我
搜索含义
,但当我键入单词
404
(在字典中)时,它会说
单词在字典中不存在
。这个问题是从哪里来的

print("This is a dictioinary")
print("\t\t\tWelcome to Geek Translator Game")
dictionary={"404":"Message not found","googler":"person who seaches on google"}
choose=None
while(choose!=0):
    choose=input('''0.Exit
1.search meaning
2.Add Word
3.Replace meaning''')

if choose is 0:
    print("bye")
if choose is 1:
    word=input("Enter the word\n")
    if word in dictionary:
        meaning=dictionary[word]
        print(meaning)
    else:
        print("Word donot exist in dictionary")
if choose is 2:
    word=input("Enter the word\n")
    if word in dictionary:
        print("Word already exists in dictionary")
        print("Try replacing meaning by going in option 3")
    else:
        defination=input("Enter the defination")
        dictionary[word]=defination
if choose is 3:
    word=input("Enter the term\n")
    if word in dictinary:
        meaning=input("Enter the meaning\n")
        dictionary[word]=meaning
    else:
        print("This term donot exist in dictionary")
input()
将用户输入解释为Python表达式。如果输入
404
,Python将其解释为整数。但是,您的词典包含一个字符串

您必须输入带引号的
“404”
,才能正常工作。更好的选择是使用
raw\u input()
来获取用户键入的原始输入,而不必将其格式化为Python表达式:

word = raw_input("Enter the word\n")
现在无论您在哪里使用
input()
,都要这样做。对于用户菜单输入,您应该真正使用
int(原始输入(“菜单文本”)而不是
input()
。您可能有兴趣了解有关如何向用户请求特定输入的更多信息

接下来,您将使用
is
测试用户选择。这是一个巧合,因为Python已经插入了小整数,您确实一次又一次地得到了相同的
0
对象,而
测试。但是,对于几乎所有的比较,您都希望使用
==

if choose == 0:
    # ...
elif choose == 1:
    # etc.
input()
将用户输入解释为Python表达式。如果输入
404
,Python将其解释为整数。但是,您的词典包含一个字符串

您必须输入带引号的
“404”
,才能正常工作。更好的选择是使用
raw\u input()
来获取用户键入的原始输入,而不必将其格式化为Python表达式:

word = raw_input("Enter the word\n")
现在无论您在哪里使用
input()
,都要这样做。对于用户菜单输入,您应该真正使用
int(原始输入(“菜单文本”)而不是
input()
。您可能有兴趣了解有关如何向用户请求特定输入的更多信息

接下来,您将使用
is
测试用户选择。这是一个巧合,因为Python已经插入了小整数,您确实一次又一次地得到了相同的
0
对象,而
测试。但是,对于几乎所有的比较,您都希望使用
==

if choose == 0:
    # ...
elif choose == 1:
    # etc.
input()
将用户输入解释为Python表达式。如果输入
404
,Python将其解释为整数。但是,您的词典包含一个字符串

您必须输入带引号的
“404”
,才能正常工作。更好的选择是使用
raw\u input()
来获取用户键入的原始输入,而不必将其格式化为Python表达式:

word = raw_input("Enter the word\n")
现在无论您在哪里使用
input()
,都要这样做。对于用户菜单输入,您应该真正使用
int(原始输入(“菜单文本”)而不是
input()
。您可能有兴趣了解有关如何向用户请求特定输入的更多信息

接下来,您将使用
is
测试用户选择。这是一个巧合,因为Python已经插入了小整数,您确实一次又一次地得到了相同的
0
对象,而
测试。但是,对于几乎所有的比较,您都希望使用
==

if choose == 0:
    # ...
elif choose == 1:
    # etc.
input()
将用户输入解释为Python表达式。如果输入
404
,Python将其解释为整数。但是,您的词典包含一个字符串

您必须输入带引号的
“404”
,才能正常工作。更好的选择是使用
raw\u input()
来获取用户键入的原始输入,而不必将其格式化为Python表达式:

word = raw_input("Enter the word\n")
现在无论您在哪里使用
input()
,都要这样做。对于用户菜单输入,您应该真正使用
int(原始输入(“菜单文本”)而不是
input()
。您可能有兴趣了解有关如何向用户请求特定输入的更多信息

接下来,您将使用
is
测试用户选择。这是一个巧合,因为Python已经插入了小整数,您确实一次又一次地得到了相同的
0
对象,而
测试。但是,对于几乎所有的比较,您都希望使用
==

if choose == 0:
    # ...
elif choose == 1:
    # etc.

Python2.x中的
input
实际上是
eval(原始输入(…)
),因此
word
是数字
404
(不在
字典
)而不是字符串
'404'
(是)。使用
raw\u input
。另外,你应该使用
=
而不是
is
(你是在测试是否相等,而不是身份)。
input
在Python2.x中实际上是
eval(raw\u input(…)
,所以
word
是数字
404
(它不在
字典
)而不是字符串
'404'
(也就是说)。使用
raw\u input
。另外,你应该使用
=
而不是
is
(你在测试是否相等,而不是身份)。
input
在Python2.x中实际上是
eval(raw\u input(…)
,所以
word
是数字
404
(不在
字典中)不是字符串
'404'
(即)。使用
raw\u input
。此外,您应该使用
=
而不是
is
(您正在测试是否相等,而不是身份)。
在Python2.x中,input
实际上是
eval(raw\u input(…)
,因此
word
是数字
404
(不在
字典
)不是字符串
'404'
(即)。使用
原始输入
。此外,您应该使用
==
而不是
is
(您测试的是是否相等,而不是id)