if-elif-else语句

时间:2018-12-05 05:39:14

标签: python-3.x

a=27
b=16
if a > b:
    print('a is greater than b')

elif a > b + 10:
    print('a is greater than b by 10')
elif a == b:
    print('a is equal to b')
else:
    print('a is less than b')

以上是我使用的代码行。在此仅第二行

print('a is greater than b by 10')

没有按照我的想法工作,而是抛出了

的输出
(if a > b:
    print('a is greater than b')

为什么会这样。由于A的输入比B10,为什么它不提供该条件的输出?

1 个答案:

答案 0 :(得分:0)

您正在使用if-elif-else。首先,您的代码将检查是否满足 if 条件。如果满足,它将在if块中运行代码。如果不满足该条件,则仅检查elif条件。在您的情况下,A大于B。因此,满足 if 条件。它不会检查elif a > b + 10条件。

如果您要首先检查该条件(您希望输出“ a大于b乘以10”,这似乎是您实际想要的),则可以将代码更改为以下内容:

a=27
b=16
if a > b + 10:
    print('a is greater than b by 10')
elif a > b:
    print('a is greater than b')
elif a == b:
    print('a is equal to b')
else:
    print('a is less than b')

输出:

  

a比b大10

如果要同时检查两个条件,则可以使用两个if语句。代码如下:

a=27
b=16
if a > b + 10:
    print('a is greater than b by 10')
elif a > b:
    print('a is greater than b')
elif a == b:
    print('a is equal to b')
else:
    print('a is less than b')

输出:

  

a比b大10

     

a大于b

如果仅在另一个满足条件时才希望对其进行检查,请尝试嵌套这些if语句。

a=27
b=16
if a > b:
    if a > b + 10:
        print('a is greater than b by 10')
    else:
        print('a is greater than b')
elif a == b:
    print('a is equal to b')
else:
    print('a is less than b')

输出:

  

a比b大10

P.S。您应该尝试了解有关if-elif-else语句及其实际工作方式的更多信息。您可以在线找到一些出色的教程,它们将为您提供帮助。