翻译自:https://www.pythontutorial.net/python-basics/python-if/
简单的 if 语句
您可以使用if
语句根据指定条件执行代码块。
该语句的语法if
如下:
if condition:
if-block
该if
语句首先检查条件。
如果条件满足True
,则执行 if 块中的语句。否则,忽略这些语句。
注意,condition
后面的冒号 :
非常重要。如果忘记了它,就会出现语法错误。
例如:
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
后面的 condition
值是True还是False,最后一行的print("Let's go and vote.")
语句始终都会执行。原因是它不属于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;
在此语法中,如果条件评估为True,if...else
则将执行if-block
。否则,它将执行else-block
。
下面的例子说明了如何使用该 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-condition
,elif-condition1
,elif-condition2
直到找到计算结果为的条件True
。
当if...elif...else
语句找到一个时,它会执行跟在条件后面的语句并跳过测试其余条件。
如果没有条件计算结果为True
,则该if...elif...else
语句执行分支中的语句else
。
请注意,else
块是可选的。如果省略它并且没有条件True
,则该语句不执行任何操作。
下面的流程图说明了该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 … else … 完成一下分支逻辑:
- 输入年龄age
- 如果小于18岁,输出「未成年」
- 如果年龄>=18但是<60,分一下两种情况
- 如果年龄是12的倍数,输出「本命年快乐!」
- 否则输出「成年人的世界!」
- 如果年龄>=60,输出「老年快乐」
- 如果年龄值非法异常,输出「非法年龄!」