本篇我们学习一下 if 语句,它可以基于某个条件执行一段代码。
简单 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…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 语句
如果我们想要检查多个条件,并且基于不同的条件执行相应的操作,可以使用 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}。")
在以上示例中:
- 如果输入的年龄小于 5,票价为 5。
- 如果输入的年龄大于等于 5 并且小于 16,票价为 10。
- 否则,票价为 18。
总结
- if 语句可以在某个条件成立时执行的代码。
- if…else 语句可以在某个条件成立时执行一些代码,在该条件不成立时执行其他的代码。
- if…elif…else 语句可以基于不同的条件执行相应的不同操作。