在Python中,我的字符串比较总是返回False:

在Python中,我的字符串比较总是返回False:,python,string,if-statement,conditional,Python,String,If Statement,Conditional,出于某种原因,我所有的“如果”和“艾利夫”不管怎样都会变成现实 nyornj = raw_input("select ny or nj please") newyork="NY" or "nj" newjersey="NJ" or "nj" if nyornj==newyork: print "New York was input" if nyornj==newjersey: print "New Jersey was input" 似乎什么都不起作用,你知道为什么这总是会成为

出于某种原因,我所有的“如果”和“艾利夫”不管怎样都会变成现实

nyornj = raw_input("select ny or nj please")
newyork="NY" or "nj"
newjersey="NJ" or "nj"
if nyornj==newyork:
    print "New York was input"
if nyornj==newjersey:
    print "New Jersey was input"

似乎什么都不起作用,你知道为什么这总是会成为现实吗?

使用str.lower()转换为所有小写字母,然后进行比较,而不是比较两个不同的值

nyornj = raw_input("select ny or nj please")
newyork="ny"
newjersey="nj"
if nyornj.lower()==newyork:
    print "New York was input"
if nyornj.lower()==newjersey:
    print "New Jersey was input"

它对第一个条件短路,所以它总是与
“NY”或“NJ”
相比较,如果你打印出
纽约州
新泽西州
,你就可以测试它了,不管怎样,用大写或小写形式输入并用单个值进行测试更有意义啊,我明白了,有没有办法不让这种情况发生,但保留两对“或”?为什么需要
?只需大写或小写,并针对单个str representationreturns:SyntaxError:无法分配给OperatorEdition,现在应该可以工作了