本篇我们学习一下 if 语句,它可以基于某个条件执行一段代码。
if 语句可以基于某个特定的条件执行一段代码,它的语法如下:
if condition: if-block
if 语句首先检查条件 condition,如果它的结果为 True,继续执行 if-block 中的语句;否则,忽略其中的语句。
注意 condition 之后的冒号(:)必不可少,否则将会返回语法错误。
以下流程图演示了 if 语句的执行过程:
例如:
age = input('请输入你的年龄:') if int(age) >= 18: print("你已经成年了。")
以上示例提示用户输入年龄,如果输入的数字大于等于 18,将会在屏幕显示信息“你已经成年了。”;否则什么也不做。其中的条件 int(age) >= 18 将输入的字符串转换为整数之后和数字 18 进行比较。
我们执行以上示例并输入数字 18:
请输入你的年龄:18 你已经成年了。
再来看以下示例:
age = input('请输入你的年龄:') if int(age) >= 18: print("你已经成年了。") print("你可以考驾驶证了!")
在以上示例中,如果我们输入一个大于等于 18 的数字,将会看到两条信息。
在以上示例中,代码中的缩进非常重要。if 语句之后的代码都必须缩进 4 个空格。如果没有正确使用缩进,程序执行的结果可能不同。例如:
age = input('请输入你的年龄:') if int(age) >= 18: print("你已经成年了。") print("你可以考驾驶证了!")
在以上示例中,最后一个语句总是会被执行,无论 if 语句中的条件是否满足。原因是它不属于 if 语句代码块。
请输入你的年龄:11 你可以考驾驶证了!
很多情况下,我们想要基于某个条件成立时执行一些操作,同时基于该条件不成立时执行其他的操作。为此,我们可以使用 if…else 语句。
if…else 语句的语法如下:
if condition: if-block else: else-block
如果 condition 的结果为 True,执行 if-block 代码块;否则,执行 else-block 代码块。
以下流程图演示了 if…else 语句的执行过程:
以下示例演示了如何使用 if…else 语句:
age = input('请输入你的年龄:') if int(age) >= 18: print("你已经成年了。") else: print("你还没有成年。")
在以上示例中,如果我们输入一个小于 18 的数字,将会看到以下信息:
请输入你的年龄:11 你还没有成年。
如果我们想要检查多个条件,并且基于不同的条件执行相应的操作,可以使用 if…elif…else 语句。其中,elif 代表了 else if。该语句的语法如下:
if if-condition: if-block elif elif-condition1: elif-block1 elif elif-condition2: elif-block2 ... [else: else-block]
if…elif…else 语句依次检查每个条件(if-condition、elif-condition1、elif-condition2 等),直到发现第一个满足的条件。然后执行该条件对应的代码块,并且忽略后续的条件判断。如果没有找到任何满足的条件,执行 else 分支对应的语句;此时如果没有指定 else 分支,什么也不做。
以下流程图演示了 if…elif…else 语句的执行过程:
以下示例基于年龄决定不同的售票价格:
age = input('请输入你的年龄:') # 将输入的字符串转换为整数 your_age = int(age) # 判断票价 if your_age < 5: ticket_price = 5 elif your_age < 16: ticket_price = 10 else: ticket_price = 18 # 显示最终的票价 print(f"你购买的票价为:{ticket_price}。")
在以上示例中: