我对python还很陌生,我刚刚做了一个小程序。如果你输入“Hello”或“Hello”,它将显示“working”,如果你输入任何其他内容,它将显示“not working”。以下是我目前掌握的代码:
print "Type in 'Hello'"
typed = raw_input("> ")
if (typed) == "Hello" or "hello":
print "Working"
else:
print "not working"
代码不工作,不管我提交什么,它总是说“工作”,即使我输入“jsdfhsdkfsdhjk”。如果我把“或”和“你好”去掉就行了,但我想两个都查一下。我怎样才能使剧本生效?在
非常感谢!!在
您可能需要尝试将
typed
转换为小写,因此只需检查一件事。如果他们打“你好”呢?在if (typed) == "Hello" or "hello":
应该是if typed == "Hello" or typed == "hello":
目前的问题是
or
应该分开两个问题。它不能用来区分同一个问题的两个答案(我认为这是你期望它做的)。在因此python试图将“hello”解释为一个问题,并将其转换为true/false值。碰巧“hello”转换为
true
(您可以查找原因)。所以你的代码真的说“if something or TRUE”,它总是true
,所以总是输出“working”。在您正在检查}作为一个独立的表达式,其计算结果是否为true(它确实如此)。您不需要链接多个值来检查原始变量。如果要检查一个表达式是否等于不同的值,则必须重复:
typed
是否等于"Hello"
,或者{或者,类似于:
^{pr2}$或者,像这样:
相关问题 更多 >
编程相关推荐