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本质上是数字1False本质上是数字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 注意事项
- 判断条件必须是布尔类型:
True或False - 不要忘记冒号:
if条件后必须有冒号 - 代码块缩进:归属于
if的代码必须缩进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个空格缩进if和else是互斥的,只会执行其中一个分支
五、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 重要特性
- 互斥性:条件判断是互斥的,满足前面的条件就不会判断后面的条件
- 有序性:按顺序判断,第一个满足的条件对应的代码块会被执行
- 简洁写法:可以将
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 嵌套注意事项
- 缩进层级:每层嵌套都需要正确的缩进
- 逻辑清晰:复杂的嵌套需要保持逻辑清晰
- 避免过度嵌套:过多的嵌套会影响代码可读性
七、实战案例:猜数字游戏
7.1 案例需求
- 随机生成1-10的数字
- 用户有3次猜测机会
- 每次猜测后提示"大了"或"小了"
- 猜中则提前结束游戏
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 代码风格
- 一致的缩进:使用4个空格进行缩进
- 清晰的命名:变量名要能表达含义
- 适当的空行:在不同逻辑块之间添加空行
- 注释说明:对复杂逻辑添加注释
9.2 常见错误
- 忘记冒号:
if语句后必须加冒号 - 缩进错误:代码块必须正确缩进
- 条件错误:确保条件表达式正确
- 逻辑错误:检查条件之间的逻辑关系
9.3 调试技巧
- 打印中间结果:在关键位置打印变量值
- 简化测试:先用简单数据测试逻辑
- 分步验证:逐层验证嵌套逻辑的正确性
通过系统学习Python判断语句,您已经掌握了程序逻辑控制的核心技能。判断语句是编程的基础,后续学习的循环、函数等概念都建立在判断语句的基础之上。多加练习,熟练掌握各种判断结构的应用场景,将为您的编程之路打下坚实基础。

浙公网安备 33010602011771号