选择语句中的Java与Python逻辑(if-else)

时间:2017-11-24 10:28:55

标签: python

在JAVA中,下面的代码给出输出为" hi"

boolean b=True;
if (b=False) 
{ 
    SOP("hello"); 
} 
else 
{ 
    SOP("hi"); 
}

Python-2.7中的相同登录不起作用。为什么???????

b=True
if (b=False):
        print "hello"
else:
        print "hi"

2 个答案:

答案 0 :(得分:1)

单个等号,即=,用于变量赋值。

为了进行比较,您必须使用双等于==。因此请将if行替换为:

if (b==False):

除此之外,Python中的括号是不必要的。你可以写:

if b == False:

它仍然有效。由于b是布尔值(True或False),您也可以执行

if not b:

答案 1 :(得分:1)

b已经是一个布尔值,没有必要将它与另一个布尔值进行比较。

b = True
if not b:
    print("hello")
else:
    print("hi")

或简单地颠倒逻辑:

b = True
if b:
    print("hi")
else:
    print("hello")

如果您确实将其与False进行了比较,那么您需要写b == False,而不是b = False

最后,在Python中,作业是statement, not an expression。这是一个慎重的选择,以避免在编写if (b = x)而不是if (b == x)时出现错误。