03_Python判断语句

Python判断语句全面总结

一、判断语句概述

1.1 为什么需要判断语句

判断语句是程序中进行逻辑判断的基础功能,广泛应用于各种场景:

应用场景

  • 用户权限验证
  • 数据有效性检查
  • 业务流程控制
  • 错误处理机制

二、布尔类型和比较运算符

2.1 布尔类型(bool)

布尔类型用于表示逻辑判断的真假结果:

# 布尔类型的字面量
is_true = True    # 真(是、肯定)
is_false = False  # 假(否、否定)

print(type(True))   # <class 'bool'>
print(type(False))  # <class 'bool'>

布尔类型特点

  • True 本质上是数字 1
  • False 本质上是数字 0
  • 可以通过计算得到布尔值

2.2 比较运算符

比较运算符用于比较两个值,返回布尔类型结果:

运算符 描述 示例 结果
== 判断相等 10 == 10 True
!= 判断不等 10 != 5 True
> 大于 10 > 5 True
< 小于 10 < 5 False
>= 大于等于 10 >= 10 True
<= 小于等于 10 <= 5 False
# 比较运算符示例
result1 = 10 > 5
result2 = "itcast" == "itheima"

print(f"10 > 5的结果是:{result1}")  # True
print(f"字符串比较结果:{result2}")  # False

三、if语句的基本格式

3.1 基本语法结构

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

3.2 实际应用示例

# 定义变量
age = 30

# 进行判断
if age >= 18:
    print("我已经成年了")
    print("可以享受成人权益")

print("判断结束")  # 这行代码总是会执行

3.3 注意事项

  1. 判断条件必须是布尔类型TrueFalse
  2. 不要忘记冒号if 条件后必须有冒号
  3. 代码块缩进:归属于 if 的代码必须缩进4个空格
  4. 缩进决定代码归属:Python通过缩进判断代码块的层次关系
age = 18
print(f"今年我已经{age}岁了")

if age >= 18:
    print("我已经成年了")      # 属于if代码块
    print("即将步入大学生活")  # 属于if代码块

print("时间过的真快")        # 不属于if代码块,总是执行

四、if else语句

4.1 语法结构

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

4.2 实际应用示例

print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("您已成年,游玩需要补票10元。")
else:
    print("您未成年,可以免费游玩。")

print("祝您游玩愉快。")

4.3 注意事项

  • else 不需要判断条件
  • else 的代码块同样需要4个空格缩进
  • ifelse 是互斥的,只会执行其中一个分支

五、if elif else语句

5.1 语法结构

if 条件1:
    条件1成立时执行的代码
elif 条件2:
    条件2成立时执行的代码
elif 条件3:
    条件3成立时执行的代码
else:
    所有条件都不成立时执行的代码

5.2 实际应用示例

print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的VIP级别(1~5):"))
day = int(input("请输入今天的日期(1~30):"))

if height < 120:
    print("您的身高小于120CM,可以免费游玩。")
elif vip_level > 3:
    print("您的VIP级别大于3,可以免费游玩。")
elif day == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有条件都不满足,需要购票10元。")

print("祝您游玩愉快。")

5.3 重要特性

  1. 互斥性:条件判断是互斥的,满足前面的条件就不会判断后面的条件
  2. 有序性:按顺序判断,第一个满足的条件对应的代码块会被执行
  3. 简洁写法:可以将 input() 直接写在判断条件中
# 简洁写法示例
if int(input("请输入身高:")) < 120:
    print("可以免费")
elif int(input("请输入VIP级别:")) > 3:
    print("VIP免费")

六、判断语句的嵌套

6.1 嵌套语法结构

if 条件1:
    # 条件1成立时执行的代码
    if 条件2:
        # 条件1和条件2都成立时执行的代码
    else:
        # 条件1成立但条件2不成立时执行的代码
else:
    # 条件1不成立时执行的代码

6.2 实际应用示例

print("欢迎来到黑马动物园。")

if int(input("输入你的身高:")) > 120:
    print("你的身高大于120cm,不可以免费")
    print("不过如果你的VIP等级高于3,可以免费游玩")
    
    if int(input("请告诉我你的VIP级别:")) > 3:
        print("恭喜你,你的VIP级别大于3,可以免费游玩。")
    else:
        print("Sorry,你需要补票10元。")
else:
    print("欢迎你小朋友,可以免费游玩。")

6.3 复杂嵌套示例

# 公司礼物发放条件判断
age = 25
year = 3
level = 2

if age >= 18:
    print("成年人符合,继续判断")
    
    if age < 30:
        print("年龄达标继续判断")
        
        if year > 2:
            print("小于30岁的成年人且入职超过2年,满足条件,可以领取")
        else:
            print("Sorry,年龄符合,但入职时间不足")
    
    elif level > 3:
        print("级别大于3的成年人可直接领取礼物")
    else:
        print("您的年龄过大或级别小于等于3,不可领取")

else:
    print("Sorry,未成年不可领取礼物")

6.4 嵌套注意事项

  1. 缩进层级:每层嵌套都需要正确的缩进
  2. 逻辑清晰:复杂的嵌套需要保持逻辑清晰
  3. 避免过度嵌套:过多的嵌套会影响代码可读性

七、实战案例:猜数字游戏

7.1 案例需求

  1. 随机生成1-10的数字
  2. 用户有3次猜测机会
  3. 每次猜测后提示"大了"或"小了"
  4. 猜中则提前结束游戏

7.2 完整代码实现

import random

# 生成随机数字
num = random.randint(1, 10)

# 第一次猜测
guess1 = int(input("请输入第一次猜想的数字:"))
if guess1 == num:
    print("恭喜你,第一次就猜对了!")
else:
    if guess1 > num:
        print("不对,猜大了")
    else:
        print("不对,猜小了")
    
    # 第二次猜测
    guess2 = int(input("不对,再猜一次:"))
    if guess2 == num:
        print("恭喜你,第二次猜对了!")
    else:
        if guess2 > num:
            print("不对,猜大了")
        else:
            print("不对,猜小了")
        
        # 第三次猜测
        guess3 = int(input("不对,再猜最后一次:"))
        if guess3 == num:
            print("恭喜你,最后一次猜对了!")
        else:
            print(f"Sorry,全部猜错啦,我想的是:{num}")

7.3 优化版本(使用循环)

import random

num = random.randint(1, 10)
guess_count = 0
max_attempts = 3

while guess_count < max_attempts:
    guess_count += 1
    guess = int(input(f"请输入第{guess_count}次猜想的数字:"))
    
    if guess == num:
        print(f"恭喜你,第{guess_count}次猜对了!")
        break
    elif guess > num:
        print("不对,猜大了")
    else:
        print("不对,猜小了")
    
    if guess_count == max_attempts:
        print(f"Sorry,机会用完了,我想的是:{num}")

八、综合练习

8.1 成年人判断

print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("您已成年,游玩需要补票10元。")
else:
    print("您未成年,可以免费游玩。")

print("祝您游玩愉快。")

8.2 身高购票判断

print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))

if height > 120:
    print("您的身高超出120cm,游玩需要购票10元。")
else:
    print("您的身高未超出120cm,可以免费游玩。")

print("祝您游玩愉快。")

8.3 多条件判断

print("欢迎来到黑马游乐园VIP专属通道")
age = int(input("请输入年龄:"))
vip_level = int(input("请输入VIP级别(1-5):"))
has_coupon = input("是否有优惠券(y/n):") == 'y'

if age < 18 or vip_level >= 4 or has_coupon:
    print("恭喜您,符合免费入园条件!")
else:
    print("需要购票入园,票价50元。")

九、最佳实践与注意事项

9.1 代码风格

  1. 一致的缩进:使用4个空格进行缩进
  2. 清晰的命名:变量名要能表达含义
  3. 适当的空行:在不同逻辑块之间添加空行
  4. 注释说明:对复杂逻辑添加注释

9.2 常见错误

  1. 忘记冒号if 语句后必须加冒号
  2. 缩进错误:代码块必须正确缩进
  3. 条件错误:确保条件表达式正确
  4. 逻辑错误:检查条件之间的逻辑关系

9.3 调试技巧

  1. 打印中间结果:在关键位置打印变量值
  2. 简化测试:先用简单数据测试逻辑
  3. 分步验证:逐层验证嵌套逻辑的正确性

通过系统学习Python判断语句,您已经掌握了程序逻辑控制的核心技能。判断语句是编程的基础,后续学习的循环、函数等概念都建立在判断语句的基础之上。多加练习,熟练掌握各种判断结构的应用场景,将为您的编程之路打下坚实基础。

posted @ 2026-01-23 14:34  FxorG  阅读(1)  评论(0)    收藏  举报