2.2 条件分支
条件分支(conditional branch)让程序可以根据不同情况执行不同代码。Python 使用 if、elif、else 来描述这些分支。
if
if 会判断一个条件。如果条件为 True,就执行缩进在它下面的语句块(block);如果条件为 False,就跳过这个语句块。
python
age = int(input("请输入年龄:"))
if 0 < age < 18:
print("未成年人")一次可能的运行结果:
text
请输入年龄:17
未成年人在 Python 中,缩进(indentation)不是装饰,而是语法的一部分。属于 if 的语句必须保持同一级缩进。
正在加载概念检查...
if-else
if-else 用于二选一:条件为 True 时执行 if 语句块,否则执行 else 语句块。
下面用闰年(leap year)判断作为例子。一个年份是闰年,需要满足以下条件之一:
- 能被 4 整除,并且不能被 100 整除。
- 或者能被 400 整除。
python
year = int(input("请输入年份:"))
is_leap_year = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
if is_leap_year:
print("闰年")
else:
print("平年")一次可能的运行结果:
text
请输入年份:2020
闰年这里把复杂条件先保存到 is_leap_year,可以让 if 那一行更清晰。写真实程序时,这种方式通常比把一长串判断直接塞进 if 更好维护。
正在加载概念检查...
if-elif-else
当情况不止两种时,可以使用多分支结构if-elif-else。程序会从上到下检查条件,遇到第一个为 True 的分支就执行,并跳过后面的分支。
python
c = input("请输入一个字符:")
if 'a' <= c <= 'z':
print("小写字母")
elif 'A' <= c <= 'Z':
print("大写字母")
elif '0' <= c <= '9':
print("数字")
else:
print("特殊字符")一次可能的运行结果:
text
请输入一个字符:T
大写字母elif 的顺序很重要。你应该把更具体、更优先的条件放在前面,把兜底情况放在 else 中。
正在加载交互实验...
正在加载概念检查...
正在加载本节练习...