在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"
答案 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)
时出现错误。