if-else
语句的语法
Python 中 if-else
语句的语法如下:
if 布尔表达式:
else:
如果布尔表达式的计算结果为 TRUE
,则执行 if
块内的语句;否则,执行 else
块内的语句。
if-else
语句的流程图
该流程图显示了如何使用 if-else
语句:
如果 expr
为 True
,则执行 stmt1
、stmt2
、stmt3
块,然后默认流程继续执行 stmt7
。但是,如果 expr
为 False
,则运行 stmt4
、stmt5
、stmt6
块,然后默认流程继续。
上述流程图的 Python 实现如下:
if expr == True:
stmt1
stmt2
stmt3
else:
stmt4
stmt5
stmt6
stmt7
if-else
语句示例
让我们通过以下示例了解 if-else
语句的用法。这里,变量 age
可以取不同的值。如果表达式 age > 18
为真,则显示有资格投票的消息;否则显示没有资格投票的消息。以下流程图说明了此逻辑:
现在,我们来看一下上述流程图的 Python 实现:
age = 25
print("age: ", age)
if age >= 18:
print("有资格投票")
else:
print("没有资格投票")
执行此代码后,您将获得以下输出:
age: 25
有资格投票
为了测试 else
块,将年龄更改为 12,然后再次运行代码。
age: 12
没有资格投票
if-elif-else
语句
if-elif-else
语句允许您检查多个表达式是否为 TRUE
,并在其中一个条件计算为 TRUE
时立即执行代码块。
与 else
块类似,elif
块也是可选的。但是,一个程序只能包含一个 else
块,而 if
块后面可以有任意数量的 elif
块。
if-elif-else
语句的语法
if 表达式1:
语句块
elif 表达式2:
语句块
elif 表达式3:
语句块
else:
语句块
if-elif-else
如何工作?
关键字 elif
是 else if
的缩写形式。它允许将逻辑排列在第一个 if
语句之后的 elif
语句级联中。如果第一个 if
语句的计算结果为 false
,则将逐个计算后续 elif
语句,如果任何一个语句满足条件,则从级联中退出。
级联中的最后一个是 else
块,当所有前面的 if/elif
条件都失败时,该块就会出现。
示例
假设购买时有不同的折扣等级:
-
-
-
如果介于 1000 至 5000 之间,则为 5%
-
下面的流程图说明了这些条件:
我们可以用 if-else
语句编写上述逻辑的 Python 代码:
amount = 2500
print('金额 = ', 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('应付金额 = ', amount - discount)
设置金额来测试所有可能的情况:800、2500、7500 和 15000。输出将相应变化:
金额: 800
应付金额 = 800
金额: 2500
应付金额 = 2375.0
金额: 7500
应付金额 = 6750.0
金额: 15000
应付金额 = 12000.0
尽管代码可以完美运行,但如果您查看每个 if
和 else
语句中缩进的级别不断增加,如果还有更多条件,就会变得难以管理。
if-elif-else
语句示例
elif
语句使代码易于阅读和理解。以下是使用 if-elif-else
语句实现相同逻辑的 Python 代码:
amount = 2500
print('金额 = ', 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('应付金额 = ', amount - discount)
上述代码的输出如下:
金额: 2500
应付金额 = 2375.0