在 Python 中,条件判断主要依靠 ifelifelse 三个关键字来实现。 本章将带你从零开始掌握 Python 的条件结构,并通过实例理解其背后的逻辑。


一 为什么需要条件判断

设想你写一个自动售票程序:

  • 如果用户年龄小于 12 岁,显示「儿童票」
  • 如果年龄在 12 到 60 岁之间,显示「成人票」
  • 否则,显示「老年票」

这就是典型的“根据条件执行不同操作”的逻辑。 程序不能只“计算”,它还要能“判断”。


二 if 语句的基本结构

Python 使用 if 语句进行条件判断,语法非常直观:

if 条件表达式:
    代码块
  • 条件表达式:任何返回布尔值(True/False)的表达式。
  • 代码块:当条件为真时执行的语句。
  • 冒号(:) 表示代码块开始。
  • 缩进(通常 4 个空格) 表示从属关系。

示例:

age = 18
if age >= 18:
    print("你已成年")

输出:

你已成年

如果条件不满足,程序直接跳过代码块,不执行。


三 if...else 结构

当条件为假时,我们通常希望程序执行另一段代码,这就用到 else

if 条件:
    语句块1
else:
    语句块2

示例:

age = int(input("请输入年龄:"))
if age >= 18:
    print("你已成年")
else:
    print("你未成年")

运行示例:

请输入年龄:16
你未成年

四 if...elif...else 多分支结构

有时需要判断多个条件,例如根据分数给出等级:

if 分数 >= 90:
    优
elif 分数 >= 80:
    良
elif 分数 >= 60:
    及格
else:
    不及格

示例:

score = int(input("请输入成绩:"))

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

运行示例:

请输入成绩:85
良好

五 条件表达式的真与假

在 Python 中,不仅仅是布尔值可以用作条件。 任何“可求值的对象”都能被判断真假:

表达式结果
0, 0.0, '', [], {}, NoneFalse
其他值True

示例:

name = ""
if name:
    print("你输入了名字")
else:
    print("名字不能为空")

输出:

名字不能为空

六 嵌套判断

有时条件中还需要继续判断,可以嵌套使用 if

示例:

age = int(input("请输入年龄:"))

if age >= 18:
    gender = input("请输入性别(男/女):")
    if gender == "男":
        print("欢迎参加男士组比赛")
    else:
        print("欢迎参加女士组比赛")
else:
    print("未成年组暂不参赛")

七 条件运算符(三元表达式)

如果只是根据条件选择一个值,可以使用更简洁的写法:

结果 = 表达式1 if 条件 else 表达式2

示例:

age = 20
msg = "成年" if age >= 18 else "未成年"
print(msg)

输出:

成年

八 多条件组合

可以使用逻辑运算符 andornot 组合多个条件。

示例 1:使用 and

age = 20
score = 85

if age >= 18 and score >= 60:
    print("符合条件")

示例 2:使用 or

if age < 18 or score < 60:
    print("不符合要求")

示例 3:使用 not

is_vip = False
if not is_vip:
    print("普通用户无法进入VIP区")

九 综合实战:判断闰年

编写一个程序,判断某年是否为闰年。 规则如下:

  • 能被 4 整除但不能被 100 整除;
  • 或者能被 400 整除。

示例:

year = int(input("请输入年份:"))

if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(f"{year} 是闰年")
else:
    print(f"{year} 不是闰年")

运行示例:

请输入年份:2024
2024 是闰年

十 实战案例:成绩评语系统

score = int(input("请输入成绩:"))

if score >= 90:
    print("表现优异,继续保持!")
elif score >= 80:
    print("成绩良好,还有提升空间!")
elif score >= 60:
    print("勉强及格,需加油!")
else:
    print("不及格,请认真复习!")

输出示例:

请输入成绩:75
成绩良好,还有提升空间!

十一 小结

结构作用示例
if判断条件是否为真if age > 18:
if...else条件为假时执行另一分支if cond: ... else: ...
if...elif...else多条件判断if a>0 elif a==0 else
嵌套 if条件中再判断if cond1: if cond2:
条件表达式简洁的单行判断a if cond else b

总结一句话

掌握了条件判断,程序就能“有智慧”地做选择。

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]