Python if-else语句

Python if-else语句

除了使用 if 语句之外,还可以选择性地使用else关键字。如果布尔表达式(在if语句中)不为真,则提供一个备用的语句块来执行。该流程图展示了else块的使用方式。

Python if-else语句

如果条件expr为真,则执行语句块stmt1、stmt2、stmt3,然后默认流程继续执行stmt7。然而,如果条件expr为假,则执行语句块stmt4、stmt5、stmt6,然后默认流程继续执行。

语法

上述流程图的Python实现如下所示−

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

示例

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

Python if-else语句

它的Python实现非常简单。

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

开始时,将整数变量age设置为25。

然后使用带有age>18表达式的 if 语句,后面加上”:”以开始一个代码块;如果”age>=18″为真,则该代码块将执行。

为了提供 else 代码块,使用”else:”,随后缩进的代码块中包含 not eligible 的消息将在”age>=18″为假时执行。

执行此代码后,你将得到以下结果 –

age: 25
eligible to vote

为了测试 else 块,将 age 改为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时,不享受折扣

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

Python if-else语句

示例

我们可以使用Python代码来实现上述逻辑,使用 if-else 语句-

amount = int(input('Enter 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:
         dicount = 0
print('amount: ',amount - discount)

虽然代码可以正常工作,但如果你看一下每个if和else语句的缩进级别不断增加,如果还有更多的条件,就会变得难以管理。

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

elif 是”else if”的缩写。它允许在第一个if语句之后以 elif 语句的级联方式安排逻辑。如果第一个 if 语句评估为假,后续的elif语句将按顺序逐个评估,并在满足任何一个条件时跳出级联。

级联中的最后一个是 else 块,在所有前面的if/elif条件都失败时起作用。

amount = 800
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)

amount 设定为测试所有可能的情况: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语句

在某些情况下,你可能希望在一个条件得到满足之后再检查另一个条件。在这种情况下,你可以使用嵌套的if语句。

在嵌套的if语句中,你可以在另一个if语句中使用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代码来了解它是如何工作的−

# !/usr/bin/python3
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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程