Logo
Published on

2.11.if条件

Authors
  • avatar
    Name
    xiaobai
    Twitter

1.如果…就…

if的核心逻辑非常简单:如果某个条件成立(为 True),就执行相应的代码块。

2.基本语法结构

if 语句有三种基本形式:ifif-else, 和 if-elif-else

2.1.形式一:简单的 if 语句

这是最基础的形式,只判断一种情况。

if 条件:
    # 条件成立时执行的代码

示例

age = 20
if age >= 18:
    print("您已经成年了!")

输出

您已经成年了!

因为 age >= 18True,所以会执行 print 语句。

2.2.形式二:if-else 语句

判断两种情况:如果条件成立,执行代码块 A;否则(条件不成立),执行代码块 B。

if 条件:
    # 条件成立时执行的代码
else:
    # 条件不成立时执行的代码

示例

temperature = 35
if temperature > 30:
    print("今天天气很热!")
else:
    print("今天天气不错。")

输出

今天天气很热!

如果 temperature 是 25,那么输出就会是 "今天天气不错。"

2.3.形式三:if-elif-else 语句

用于判断多种可能的情况。程序会按顺序检查每一个 elif 的条件,一旦某个条件为 True,就执行对应的代码块,然后跳出整个 if 结构。如果所有 ifelif 的条件都不满足,则执行 else 的代码块。

if 条件1:
    # 条件1成立时执行的代码
elif 条件2:
    # 条件2成立时执行的代码
elif 条件3:
    # 条件3成立时执行的代码
# ... 可以有多个 elif
else:
    # 所有以上条件都不成立时执行的代码

示例

score = 85

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

输出

成绩良好!

程序会这样判断:

  1. score >= 90? (85 >= 90) -> False,继续。
  2. score >= 80? (85 >= 80) -> True,执行 print("成绩良好!"),然后结束整个判断

3.关键要点和细节

3.1.缩进

Python 使用缩进来区分代码块,这是语法强制要求的。

  • 通常使用 4 个空格 作为一个缩进级别。
  • 同一个代码块内的语句必须有相同的缩进。
  • 缩进错误会导致 IndentationError

正确示例

if True:
    print("Hello,") # 缩进4个空格
    print("World!") # 缩进4个空格
print("This is outside the if block.") # 没有缩进,不属于if代码块

错误示例

if True:
print("Hello") # 会报错:IndentationError

3.2.条件表达式

if 后面的“条件”可以是很广泛的表达式,其结果会被判断为 TrueFalse

  • 比较运算符: == (等于), != (不等于), > (大于), < (小于), >= (大于等于), <= (小于等于)
  • 逻辑运算符: and (与), or (或), not (非)
  • 成员运算符: in (在...内), not in (不在...内)
  • 其他可以产生布尔值的表达式或函数。

复杂条件示例

age = 25
is_student = True

# 使用 and
if age >= 18 and is_student:
    print("您是成年学生。")

# 使用 or
if age < 12 or age >= 65:
    print("您可以享受优惠票价。")

# 使用 not
if not is_student:
    print("您不是学生。")

# 使用 in
name = "Alice"
if name in ["Alice", "Bob", "Charlie"]:
    print(f"你好,{name}!")

3.3.嵌套的 if 语句

你可以在一个 if 代码块内部再写另一个 if 语句。

num = 10

if num > 0:
    print("数字是正数。")
    if num % 2 == 0:
        print("并且它是一个偶数。")
    else:
        print("并且它是一个奇数。")
else:
    print("数字是零或负数。")

输出

数字是正数。
并且它是一个偶数。

4.实战小例子

我们来写一个简单的程序,判断一个年份是否是闰年。 闰年的规则:

  1. 能被 4 整除,但不能被 100 整除。 或者
  2. 能被 400 整除。
year = 2024

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

输出

2024年是闰年。

5.总结

结构用途何时使用
if判断一种情况只需要在条件成立时做某事
if-else判断两种情况非此即彼的选择
if-elif-else判断多种情况多选一的情景(如成绩等级、菜单选择)
img