使用原始输入时使用条件python(新手)
我有一个关于使用in使用原始输入时使用条件python(新手),python,python-2.7,conditional,raw-input,Python,Python 2.7,Conditional,Raw Input,我有一个关于使用in条件输入和原始输入的问题。 基本上,我正在尝试用Python搜索字典并评估用户输入。我正在检查用户输入是否在字典中 (我不包括字典) 问题是,当我评估用户输入时,它将其声明为false,而实际上为true。谁能告诉我我做错了什么来帮助我 文书工作中的“短名” 假的 (手动检查其是否有效时得到的信息) 我环顾了一下四周,我觉得这个问题很基本,这里没有。谢谢 除了你的错误 if shortname in paperwork: print paperwork['shortn
条件输入和原始输入的问题。
基本上,我正在尝试用Python搜索字典并评估用户输入。我正在检查用户输入是否在字典中
(我不包括字典)
问题是,当我评估用户输入时,它将其声明为false,而实际上为true。谁能告诉我我做错了什么来帮助我
文书工作中的“短名”
假的
(手动检查其是否有效时得到的信息)
我环顾了一下四周,我觉得这个问题很基本,这里没有。谢谢 除了你的错误
if shortname in paperwork:
print paperwork['shortname']
其中,您使用的不是变量shortname
,而是字符串文本'shortname'
在我举的这个例子中,我没有遇到任何问题:
lettersStored = ['a','b','c','d']
name=raw_input('Please enter a letter:\n')
if name in lettersStored:
print "Found it at index %d " % (lettersStored.index(name))
else:
print 'Not found'
我用输入测试了它:
a (Found it at index 0)
b (Found it at index 1)
c (Found it at index 2)
z (Not Found)
x (Not Found)
'shortname'
和shortname
不一样。这是为什么?我如何修复它以获得所需的输出?'shortname'
是一个文本字符串shortname
是一个变量。您可能只想在任何地方使用短名称
(无引号)。嘎!如果有条件的话,用括号括起来!EOL的分号!用列表覆盖内置的dict
@NNONNEO lol不是串行python程序员!但我发现,通过回答问题,我也了解到了这一点。这是一次很好的学习经历。还有一件事:myDict
不是字典。要么把它定义为一个({'a':'a','b':'b','c':'c','d':'d'}
或其他什么),要么不要把它叫做“somethingDict”。@nneonneo调用dictionary不是因为数据结构,而是因为它与问题有面向对象的关系。我知道,但我在挑剔dictionary
/dict
通常在Python中的含义更窄。
a (Found it at index 0)
b (Found it at index 1)
c (Found it at index 2)
z (Not Found)
x (Not Found)