摘要:在本节中,您将学习如何使用Python中if
语句来根据条件执行一段代码。
简单if语句
您可以使if
语句根据指定条件来执行一段代码。
if
语句的语法如下:
if condition:
if-block
if
语句首先会检查条件。
如果条件评估结果为 True
(真),则执行 if
代码块中的语句。否则,会忽略这些语句。
需要注意的是,条件后面的冒号 :
) 非常重要。如果忘记写冒号,将会导致语法错误。
以下流程图说明了 if
语句的执行流程:
例如:
age = input('Enter your age:')
if int(age) >= 18:
print("You're eligible to vote.")
这个示例会提示你输入年龄。如果你输入一个大于或等于 18 的数字,它会在屏幕上显示消息You're eligible to vote
(你有资格投票)。否则,它什么也不做。
条件 int(age) >= 18
会将输入的字符串转换为整数,并将其与 18 进行比较。
Enter your age:18
You're eligible to vote.
观察下面的案例:
age = input('Enter your age:')
if int(age) >= 18:
print("You're eligible to vote.")
print("Let's go and vote.")
在这个示例中,如果你输入一个大于或等于 18 的数字,你会看到两条消息。
在这个示例中,缩进非常重要if
语句之后的任何语句都需要缩进四个空格。
如果你没有正确使用缩进,程序将无法按预期运行。例如:
age = input('Enter your age:')
if int(age) >= 18:
print("You're eligible to vote.")
print("Let's go and vote.")
在这个示例中,无论 if
语句中的条件如何,最后一条语句总是会执行。原因是它不属于 if
代码块:
Enter your age:11
Let's go and vote.
if...else
语句
通常情况下,你希望在条件为真(True
)时执行某个操作,而在条件为假(False
)时执行另一个操作。
为此,你可以使用 if...else
语句。
以下是 if...else
语句的语法:
if condition:
if-block;
else:
else-block;
在此语法中if...else
语句会在条件评估结果为真(True
)时执行 if
代码块。否则,它将执行 else
代码块。
以下流程图说明了 if..else
语句:
以下示例向您展示如何使用 if...else
语句:
age = input('Enter your age:')
if int(age) >= 18:
print("You're eligible to vote.")
else:
print("You're not eligible to vote.")
在此示例中,如果你输入的年龄小于 18 岁,你会看到这样的信息"You're not eligible to vote."
(你无投票资格。)
Enter your age:11
You're not eligible to vote.
if…elif…else
语句
如果你想要检查多个条件并根据相应条件执行操作,可以使用 if...elif...else
语句。其中 elif
是 else if
的缩写。
以下是 if...elif...else
语句的语法:
if if-condition:
if-block
elif elif-condition1:
elif-block1
elif elif-condition2:
elif-block2
...
else:
else-block
if...elif...else
语句会按照它们在语句中出现的顺序逐个检查每个条件(if
条件、elif
条件 1、elif
条件 2,……),直到找到一个评估结果为真(True
)的条件。
当 if...elif...else
语句找到一个为真的条件时,它会执行该条件后面的语句,并跳过对剩余条件的测试。
如果没有任何条件评估结果为真if...elif...else
语句会执行 else
分支中的语句。
需要注意的是else
代码块是可选的。如果你省略了它,并且没有任何条件为真,那么该语句将不执行任何操作。
以下流程图说明了 if...elif...else
语句:
以下示例使用 if...elif..else
语句根据年龄来确定票价:
age = input('Enter your age:')
# convert the string to int
your_age = int(age)
# determine the ticket price
if your_age < 5:
ticket_price = 5
elif your_age < 16:
ticket_price = 10
else:
ticket_price = 18
# show the ticket price
print(f"You'll pay ${ticket_price} for the ticket")
在这个示例中:
如果输入的年龄小于5岁,票价将为5美元。
如果输入的年龄大于或等于5岁且小于16岁,票价为10美元。
否则,票价为18美元。
总结
当您希望基于某个条件运行代码块时,请使
if
语句。当条件不成立(即不
True
)时,如果您希望运行另一个代码块,请使if...else
语句。当您希望检查多个条件并运行紧跟在评估结果
True
的条件之后的相应代码块时,请使if...elif...else
语句。