Python2如何使用“or”?

2024-05-29 00:01:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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”。如果我把“或”和“你好”去掉就行了,但我想两个都查一下。我怎样才能使剧本生效?在

非常感谢!!在


Tags: or代码in程序内容helloinputraw
3条回答

您可能需要尝试将typed转换为小写,因此只需检查一件事。如果他们打“你好”呢?在

typed = raw_input("> ")
if typed.lower() == "hello":
    print "Working"
else:
    print "not working"

if (typed) == "Hello" or "hello":应该是if typed == "Hello" or typed == "hello":

目前的问题是or应该分开两个问题。它不能用来区分同一个问题的两个答案(我认为这是你期望它做的)。在

因此python试图将“hello”解释为一个问题,并将其转换为true/false值。碰巧“hello”转换为true(您可以查找原因)。所以你的代码真的说“if something or TRUE”,它总是true,所以总是输出“working”。在

您正在检查typed是否等于"Hello",或者{}作为一个独立的表达式,其计算结果是否为true(它确实如此)。您不需要链接多个值来检查原始变量。如果要检查一个表达式是否等于不同的值,则必须重复:

if typed == 'Hello' or typed == 'hello':

或者,类似于:

^{pr2}$

或者,像这样:

if typed.lower() == 'hello': # now this is case insensitive.

相关问题 更多 >

    热门问题