黑马程序员,学习笔记

Python判断语句超详细教程:从布尔类型到实战案例
在程序开发中,逻辑判断是最基础且核心的功能------就像生活中我们判断"是否成年""是否需要买票""密码是否正确"一样,程序中的登录验证、权限控制、数据筛选等功能,都离不开判断语句。本文将从布尔类型、比较运算符入手,逐步拆解if系列语句、嵌套判断的用法,最后通过实战案例巩固所学,全程附可直接运行的代码,新手也能轻松掌握!
一、布尔类型:程序中的"真与假"
程序中的判断只有两个结果:"是"或"否",而布尔类型(bool)正是描述这一逻辑的核心数据类型。

1.1 布尔类型的定义
-
字面量 :
True(真,本质是数字1)、False(假,本质是数字0) -
定义方式:直接赋值或通过比较运算得到
python
# 直接定义布尔变量
is_adult = True
is_free = False
# 通过计算得到布尔值
result = 10 > 5
print(f"10>5的结果:{result},类型:{type(result)}") # 输出:True,类型:<class 'bool'>
1.2 Python常用数据类型速览
布尔类型是Python6种基础数据类型之一,完整分类如下:
| 类型 | 描述 | 说明 |
|---|---|---|
| 数字(Number) | 数值型数据 | 整数(int):10、-5;浮点数(float):13.14;复数(complex):4+3j;布尔(bool):True/False |
| 字符串(String) | 文本数据 | 由字符组成,如"itheima"、"Python" |
| 列表(List) | 有序可变序列 | 如[1,2,3],可修改元素 |
| 元组(Tuple) | 有序不可变序列 | 如(1,2,3),不可修改元素 |
| 集合(Set) | 无序不重复集合 | 如{1,2,3},自动去重 |
| 字典(Dictionary) | 无序Key-Value集合 | 如{"name":"张三","age":18} |
1.3 比较运算符:计算"真与假"的工具

布尔值除了直接定义,更常用的是通过比较运算符计算得到,Python支持6种核心比较运算符:
| 运算符 | 描述 | 示例(结果为True) |
|---|---|---|
| == | 判断两个值是否相等 | 3 == 3、"a" == "a" |
| != | 判断两个值是否不相等 | 1 != 3、"itcast" != "itheima" |
| > | 左侧是否大于右侧 | 7 > 3、10.5 > 8.2 |
| < | 左侧是否小于右侧 | 3 < 7、"b" < "c"(字符ASCII码比较) |
| >= | 左侧是否大于等于右侧 | 3 >= 3、5 >= 2 |
| <= | 左侧是否小于等于右侧 | 3 <= 3、2 <= 5 |
示例代码:
python
# 数值比较
print(5 == 5) # True
print(10 != 8) # True
print(7 >= 9) # False
# 字符串比较(按ASCII码顺序)
print("apple" < "banana") # True
print("itheima" == "itcast") # False


1.4 逻辑运算符

二、if语句:基础判断逻辑
if语句是最基础的判断结构,用于"满足条件就执行某段代码"。
2.1 基本语法
if 要判断的条件: # 条件结果必须是布尔值(True/False)
条件成立时执行的代码块 # 必须缩进4个空格(Python通过缩进识别代码归属)
可执行多行代码...
2.2 核心注意事项
-
条件必须返回布尔值(可直接用布尔变量,或通过比较运算、函数返回)
-
条件后必须加冒号(
:),不可遗漏 -
代码块必须缩进4个空格(或按IDE自动缩进规则),否则会报错
2.3 练习案例:成年人判断
需求:通过输入年龄,判断是否为成年人,输出对应提示。
python
# 1. 获取输入(转换为整数类型)
age = int(input("请输入你的年龄:"))
# 2. 判断并输出结果
print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
if age >= 18:
print("您已成年,游玩需要补票10元。")
print("祝您游玩愉快。")
运行结果:
欢迎来到黑马儿童游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快。
三、if else语句:二选一逻辑
if语句只能处理"条件成立"的情况,若需要"成立执行A,不成立执行B",则用if else结构。
3.1 基本语法
if 条件:
条件成立时执行的代码块
else: # 无需额外判断条件,仅当if条件不成立时执行
条件不成立时执行的代码块
3.2 核心注意事项
-
else后无判断条件,直接加冒号
-
else的代码块同样需要缩进4个空格
3.3 练习案例:动物园买票判断
需求:输入身高,判断是否超过120cm,超过则购票,否则免费。
python
print("欢迎来到黑马动物园。")
height = int(input("请输入你的身高(cm):"))
if height > 120:
print("您的身高超出120cm,游玩需要购票10元。")
else:
print("您的身高未超出120cm,可以免费游玩。")
print("祝您游玩愉快。")
运行结果:
欢迎来到黑马动物园。
请输入你的身高(cm):110
您的身高未超出120cm,可以免费游玩。
祝您游玩愉快。
四、if elif else语句:多条件判断
当需要判断多个并列条件时(如"满足A执行A,满足B执行B,都不满足执行C"),用if elif else结构,无需重复写多个if。
4.1 基本语法
python
if 条件1:
条件1成立执行的代码
elif 条件2: # 仅当条件1不成立时,才判断条件2
条件2成立执行的代码
elif 条件N: # 可写多个elif
条件N成立执行的代码
else: # 所有条件都不成立时执行(可省略)
所有条件不成立执行的代码
4.2 核心注意事项
-
多个elif按顺序判断,满足前一个条件后,后续条件不再判断
-
else可省略,此时所有条件不成立时,无额外执行代码
-
可直接在条件中写输入语句,节省代码量
4.3 练习案例:多条件免费游玩判断
需求:身高<120cm 或 VIP级别>3 或 日期为1号,满足任一条件即可免费,否则购票。
python
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("祝您游玩愉快。")
五、判断语句的嵌套:多层逻辑判断
实际场景中,判断往往是多层的(如"先判断是否成年,成年后再判断是否满足VIP条件"),此时需要嵌套if语句。
5.1 基本语法
python
if 外层条件:
外层条件成立执行的代码
if 内层条件: # 仅当外层条件成立时,才判断内层条件
内层条件成立执行的代码
else:
内层条件不成立执行的代码
else:
外层条件不成立执行的代码
5.2 核心注意事项
-
嵌套层级通过缩进区分,外层缩进4空格,内层再缩进4空格(共8空格)
-
可自由组合
if elif else进行多层嵌套,无层级限制(建议不超过3层,避免代码复杂)
5.3 练习案例:公司礼物领取判断
需求:18≤年龄<30 且(入职>2年 或 级别>3),即可领取礼物。
python
age = int(input("请输入你的年龄:"))
year = int(input("请输入你的入职年限:"))
level = int(input("请输入你的级别:"))
if age >= 18:
print("成年人符合,继续判断")
if age < 30:
print("年龄达标,继续判断")
if year > 2:
print("小于30岁的成年人且入职超过2年,满足条件,可以领取礼物!")
else:
print("年龄符合,但入职时间不足2年,不可领取")
elif level > 3:
print("级别大于3的成年人可直接领取礼物!")
else:
print("年龄过大或级别小于等于3,不可领取")
else:
print("Sorry,未成年不可领取礼物")
六、实战案例:猜数字游戏
整合前面所有知识点,实现"随机生成1~10的数字,3次机会猜中"的游戏,每次猜错提示"大了"或"小了"。
案例需求
-
随机生成1~10的整数(用
random模块) -
提供3次猜测机会,通过嵌套判断实现
-
每次猜错提示"大了"或"小了",3次全错提示正确答案
完整代码
python
import random
random_number = random.randint(1, 10)
times = 4
while times > 0:
guess_number = int(input(f"还有{times}次机会,请输入你猜的数字:"))
if guess_number == random_number:
print("恭喜你猜对了")
break
elif guess_number < random_number:
print("您猜的偏小")
elif guess_number > random_number:
print("您猜的偏大")
times -= 1
if times == 0:
print(f"很遗憾,您的猜测次数已经用完,正确答案是{random_number}")
七、总结
Python判断语句是逻辑控制的核心,关键要点总结如下:
-
布尔类型(True/False)是判断的基础,可通过直接定义或比较运算得到
-
if语句处理单条件、if else处理二选一、if elif else处理多条件
-
缩进是Python的语法核心,判断语句的代码块必须缩进4个空格
-
嵌套判断用于多层逻辑,可自由组合if/elif/else,建议控制层级复杂度
-
实战中多结合输入(input)、随机数(random)等模块,让程序更灵活