1. if语句基础

if语句用于条件判断,只有当条件为True时,才会执行相应的代码块。

基本语法

if 条件:
    # 如果条件为True,执行这里的代码
    执行语句

示例

示例1:简单判断

age = 18

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

示例2:比较运算

score = 85

if score >= 60:
    print("及格了!")
    print("恭喜通过考试")

重要:if语句后面的冒号(:)是必须的,表示代码块的开始。if内部的代码必须缩进(通常4个空格)。

2. if-else语句

if-else语句提供了两种可能:如果条件为True执行一个代码块,否则执行另一个代码块。

基本语法

if 条件:
    # 条件为True时执行
    语句块1
else:
    # 条件为False时执行
    语句块2

示例

判断奇偶数

num = 7

if num % 2 == 0:
    print(f"{num}是偶数")
else:
    print(f"{num}是奇数")

登录验证

password = "123456"
input_pwd = "123456"

if input_pwd == password:
    print("登录成功!")
else:
    print("密码错误,请重试")

动手试试

修改下面的代码,判断一个数是否是正数:

运行结果将显示在这里...

3. if-elif-else语句

当有多个条件需要判断时,可以使用if-elif-else语句。elif是"else if"的缩写。

基本语法

if 条件1:
    # 条件1为True时执行
    语句块1
elif 条件2:
    # 条件2为True时执行
    语句块2
elif 条件3:
    # 条件3为True时执行
    语句块3
else:
    # 以上条件都不满足时执行
    语句块4

示例:成绩评级

score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

print(f"分数:{score},等级:{grade}")

注意:if-elif-else语句中,只有一个代码块会被执行。一旦某个条件为True,执行对应的代码块后,就会跳过其余所有条件。

4. 嵌套if语句

在一个if语句内部可以包含另一个if语句,这称为嵌套if语句。

基本语法

if 条件1:
    # 条件1为True时执行
    if 条件2:
        # 条件1和条件2都为True时执行
        语句块1
    else:
        # 条件1为True但条件2为False时执行
        语句块2
else:
    # 条件1为False时执行
    语句块3

示例:登录系统

username = "admin"
password = "123456"

input_user = "admin"
input_pwd = "123456"

if input_user == username:
    if input_pwd == password:
        print("登录成功!")
    else:
        print("密码错误")
else:
    print("用户名不存在")

动手试试:闰年判断

判断一个年份是否是闰年:能被4整除但不能被100整除,或者能被400整除

运行结果将显示在这里...

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

Python提供了简洁的条件表达式语法,也称为三元运算符,用于简单的if-else判断。

基本语法

# 条件为True时返回value1,否则返回value2
变量 = value1 if 条件 else value2

示例

普通写法

num = 10

if num > 0:
    result = "正数"
else:
    result = "非正数"

三元运算符写法

num = 10
result = "正数" if num > 0 else "非正数"

更多示例

# 求最大值
a, b = 5, 8
max_value = a if a > b else b
print(f"最大值是:{max_value}")

# 奇偶判断
num = 7
result = "奇数" if num % 2 == 1 else "偶数"
print(f"{num}是{result}")

6. 逻辑运算符

逻辑运算符用于组合多个条件,Python中有三个逻辑运算符:and, or, not。

运算符 描述 示例 结果
and 与 - 两个条件都为True时返回True x > 0 and x < 10 x在0和10之间时为True
or 或 - 至少一个条件为True时返回True x < 0 or x > 10 x小于0或大于10时为True
not 非 - 反转条件的真假值 not x > 0 x不大于0时为True

示例

# and 运算符示例
age = 25
has_license = True

if age >= 18 and has_license:
    print("可以开车")
    
# or 运算符示例
is_weekend = False
is_holiday = True

if is_weekend or is_holiday:
    print("今天是休息日")
    
# not 运算符示例
is_rainy = False

if not is_rainy:
    print("天气晴朗,适合外出")

运算符优先级

# 运算符优先级:not > and > or
# 使用括号可以改变优先级

a, b, c = True, False, True

# 等价于 (a and b) or c
result1 = a and b or c

# 等价于 a and (b or c)
result2 = a and (b or c)

print(f"result1: {result1}, result2: {result2}")

7. 实战练习

通过以下练习巩固if语句的使用:

练习1:判断数字性质

编写一个程序,判断用户输入的数字是正数、负数还是零。

num = float(input("请输入一个数字: "))

if num > 0:
    print("正数")
elif num < 0:
    print("负数")
else:
    print("零")

练习2:计算BMI

根据身高和体重计算BMI,并给出健康建议:
过轻: BMI < 18.5
正常: 18.5 ≤ BMI < 24
过重: 24 ≤ BMI < 28
肥胖: BMI ≥ 28

height = float(input("请输入身高(米): "))
weight = float(input("请输入体重(公斤): "))

bmi = weight / (height ** 2)
print(f"您的BMI是: {bmi:.2f}")

if bmi < 18.5:
    print("体重过轻")
elif bmi < 24:
    print("体重正常")
elif bmi < 28:
    print("体重过重")
else:
    print("肥胖")

练习3:三角形判断

输入三个边长,判断是否能构成三角形,以及三角形的类型(等边、等腰、普通)。

a = float(input("请输入第一条边: "))
b = float(input("请输入第二条边: "))
c = float(input("请输入第三条边: "))

if a + b > c and a + c > b and b + c > a:
    if a == b == c:
        print("等边三角形")
    elif a == b or a == c or b == c:
        print("等腰三角形")
    else:
        print("普通三角形")
else:
    print("不能构成三角形")