26期_01_Pyhton判断语句

黑马程序员,学习笔记

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 核心注意事项

  1. 条件必须返回布尔值(可直接用布尔变量,或通过比较运算、函数返回)

  2. 条件后必须加冒号(:),不可遗漏

  3. 代码块必须缩进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 核心注意事项

  1. 多个elif按顺序判断,满足前一个条件后,后续条件不再判断

  2. else可省略,此时所有条件不成立时,无额外执行代码

  3. 可直接在条件中写输入语句,节省代码量

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. 随机生成1~10的整数(用random模块)

  2. 提供3次猜测机会,通过嵌套判断实现

  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判断语句是逻辑控制的核心,关键要点总结如下:

  1. 布尔类型(True/False)是判断的基础,可通过直接定义或比较运算得到

  2. if语句处理单条件、if else处理二选一、if elif else处理多条件

  3. 缩进是Python的语法核心,判断语句的代码块必须缩进4个空格

  4. 嵌套判断用于多层逻辑,可自由组合if/elif/else,建议控制层级复杂度

  5. 实战中多结合输入(input)、随机数(random)等模块,让程序更灵活

相关推荐
快乐小胡!2 小时前
【自动化测试】Selenium选择/定位元素的基本方法
python·selenium·测试工具
高洁012 小时前
数字孪生与数字样机的技术基础:建模与仿真
python·算法·机器学习·transformer·知识图谱
喵手2 小时前
Python爬虫零基础入门【第二章:网页基础·第4节】新手最常栽的坑:编码、时区、空值、脏数据!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·python爬虫编码时区·爬虫编码时区
淡忘旧梦2 小时前
词错误率/WER算法讲解
人工智能·笔记·python·深度学习·算法
癫狂的兔子2 小时前
【Python】【爬虫】爬取虎扑网NBA排行数据
数据库·爬虫·python
Aurora-Borealis.3 小时前
Day40 早停策略和模型权重的保存
python
好大哥呀3 小时前
如何在手机上运行Python程序
开发语言·python·智能手机
_codemonster3 小时前
手语识别及翻译项目实战系列(一)环境准备
人工智能·python·计算机视觉
毕设源码-钟学长3 小时前
【开题答辩全过程】以 基于Python的新闻热点舆情分析系统为例,包含答辩的问题和答案
开发语言·python