具有恒定值的if语句

时间:2018-08-09 05:53:27

标签: python if-statement arguments

为什么只执行 if 语句,而不执行 else 语句,如果我们编写 if-else ,其中 if 具有恒定值。例如python中的这段代码

x=5
if 5:
 print("hello 5")
else:
 print("bye")

另外要注意的一点是,即使我只将语句5替换为500或任何数字,第二行也只能执行。有人可以解释一下吗。

5 个答案:

答案 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类型中添加了TrueFalse常量,但实际上它们只是整数10的包装(实际上是{ {1}}是bool的子类。可以通过

看到
int

答案 4 :(得分:0)

将if-else看作是一个分叉。 您可以采用这种方式(使用if的语句)或采用这种方式(使用else的语句)。转向哪种方式的决定由关键字if之后的条件表达式决定。

如果条件表达式的计算结果为

  • 任何非零值,将采用if分支

  • 将使用else分支