为什么只执行 if 语句,而不执行 else 语句,如果我们编写 if-else ,其中 if 具有恒定值。例如python中的这段代码
x=5
if 5:
print("hello 5")
else:
print("bye")
另外要注意的一点是,即使我只将语句5替换为500或任何数字,第二行也只能执行。有人可以解释一下吗。
答案 0 :(得分:0)
您必须应用一些条件来执行if-else语句,例如(if x == 5)或(if x == 500)。在这种情况下,如果条件是合理的,则它将遵循if语句,否则它将遵循else语句。在您的方案中,没有条件要检查常数,因此它将自动转换为true。
答案 1 :(得分:0)
Python将大于0的所有整数视为true。通常,您将其用作二进制选择,检查整数是否为1。在这种情况下,发现5为true,这意味着if被激活时,不会调用else。
if 0:
print("Hello")
因为0为假,因此不会打招呼。
答案 2 :(得分:0)
if-else需要布尔响应。除0以外的任何数字(正/负)表示 True 。
尝试:
if 5:
print("hello 5")
else:
print("bye")
output: hello 5
if 0:
print("hello 5")
else:
print("bye")
output: bye
答案 3 :(得分:0)
也许是另外一个原因。过去,像c这样的python没有bool
类型。所以不用说
boolean = False # or True
你会说
boolean = 0 # or 1 or any other int
Python后来在bool
类型中添加了True
和False
常量,但实际上它们只是整数1
和0
的包装(实际上是{ {1}}是bool
的子类。可以通过
int
答案 4 :(得分:0)
将if-else看作是一个分叉。
您可以采用这种方式(使用if的语句)或采用这种方式(使用else的语句)。转向哪种方式的决定由关键字if
之后的条件表达式决定。
如果条件表达式的计算结果为
任何非零值,将采用if分支
零将使用else分支