Python if-else 语句


Python - if-else 语句

除了if语句之外,还可以选择使用else关键字。它提供了当布尔表达式(在 if 语句中)不为 true 时要执行的备用语句块。此流程图显示了如何使用块。

ifelse语法

如果 expr 为 True,则执行 stmt1,2,3 块,然后默认流程继续 stmt7。但是,如果 expr 为 False,则运行块 stmt4,5,6,然后继续默认流程。

句法

上述流程图的Python实现如下:

if expr==True:
   stmt1
   stmt2
   stmt3
else:
   stmt4
   stmt5
   stmt6
Stmt7

例子

让我们通过以下示例来了解else子句的用法。变量年龄可以取不同的值。如果表达式“年龄 > 18”为真,则显示您有资格投票的消息,否则应显示不符合投票资格的消息。下面的流程图说明了这个逻辑。

如果别的

它的Python实现很简单。

age=25
print ("age: ", age)
if age >=18:
   print ("eligible to vote")
else:
   print ("not eligible to vote")

首先,将整数变量“age”设置为 25。

然后使用if语句,其中“age>18”表达式后跟“:”,这将启动一个块;如果“age>=18”为真,则此操作将会生效。

要提供else块,请使用else:当“age>=18”为 false 时,包含不合格消息的后续缩进块将起作用。

执行此代码时,您将得到以下输出-

age: 25
eligible to vote

要测试 else,请将年龄更改为 12,然后再次运行代码。

age: 12
not eligible to vote

Python - elif 语句

elif语句允许您检查多个表达式是否为 TRUE,并在其中一个条件计算结果为 TRUE 时立即执行代码块。

else语句类似,elif语句是可选的。然而,与else不同的是, else 最多只能有一个语句;if后面可以有任意数量的elif语句。

句法

if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s)

例子

让我们借助以下示例来了解 elif 的工作原理。

前面的示例中使用的折扣结构被修改为不同的折扣板 -

  • 金额超过10000 20%,

  • 金额在 5-10000 之间为 10%,

  • 如果在 1 到 5000 之间,则为 5%。

  • 金额<1000无折扣

以下流程图说明了这些条件 -

if-elif

例子

我们可以使用if-else语句为上述逻辑编写 Python 代码-

amount = 2500
print('Amount = ',amount)
if amount > 10000:
   discount = amount * 20 / 100
else:
   if amount > 5000:
      discount = amount * 10 / 100
   else:
      if amount > 1000:
         discount = amount * 5 / 100
      else:
         discount = 0

print('Payable amount = ',amount - discount)

设置数量来测试所有可能的条件:800、2500、7500 和 15000。输出相应变化 -

Amount: 800
Payable amount = 800
Amount: 2500
Payable amount = 2375.0
Amount: 7500
Payable amount = 6750.0
Amount: 15000
Payable amount = 12000.0

虽然代码可以完美运行,但如果您查看每个 if 和 else 语句中不断增加的缩进级别,如果还有更多条件,则将变得难以管理。

elif语句使代码易于阅读和理解。

Elif是else if的缩写。它允许将逻辑排列在第一个 if 语句之后的一系列elif语句中。如果第一个if语句的计算结果为 false,则后续的 elif 语句将被逐个计算,如果有一个满足,则从级联中出来。

级联中的最后一个是else块,当所有前面的 if/elif 条件失败时,该块将出现。

amount = 2500
print('Amount = ',amount)
if amount > 10000:
   discount = amount * 20 / 100
elif amount > 5000:
   discount = amount * 10 / 100
elif amount > 1000:
   discount = amount * 5 / 100
else:
   discount=0

print('Payable amount = ',amount - discount)

设置数量来测试所有可能的条件:800、2500、7500 和 15000。输出相应变化 -

Amount: 800
Payable amount = 800
Amount: 2500
Payable amount = 2375.0
Amount: 7500
Payable amount = 6750.0
Amount: 15000
Payable amount = 12000.0

Python - 嵌套 If 语句

可能存在这样的情况:您想在某个条件解析为 true 后检查另一个条件。在这种情况下,您可以使用嵌套的if结构。

在嵌套的 if 构造中,可以在另一个 if...elif...else 构造中包含一个 if...elif...else 构造。

句法

嵌套if...elif...else构造的语法如下 -

if expression1:
   statement(s)
   if expression2:
      statement(s)
   elif expression3:
      statement(s)3
   else
      statement(s)
elif expression4:
   statement(s)
else:
   statement(s)

例子

现在让我们通过一段 Python 代码来了解它是如何工作的 -

num=8
print ("num = ",num)
if num%2==0:
   if num%3==0:
      print ("Divisible by 3 and 2")
   else:
      print ("divisible by 2 not divisible by 3")
else:
   if num%3==0:
      print ("divisible by 3 not divisible by 2")
   else:
      print ("not Divisible by 2 not divisible by 3")

执行上述代码时,会产生以下输出-

num = 8
divisible by 2 not divisible by 3
num = 15
divisible by 3 not divisible by 2
num = 12
Divisible by 3 and 2
num = 5
not Divisible by 2 not divisible by 3