Python系列课(2)——判断

目录

一、布尔类型

二、比较运算符

[三、if 语句基本格式](#三、if 语句基本格式)

[四、if else 语句](#四、if else 语句)

[五、if elif else 语句](#五、if elif else 语句)

六、判断语句的嵌套

七、实战案例:猜数字完整版

八、综合练习:成年人判断+买票

九、易错点速记

十、判断语句速查表


一、布尔类型

定义 :布尔类型用于表示真和假,只有两个值:True(真/是)和 False(假/否)

复制代码
# 直接定义布尔类型变量
is_student = True
is_teacher = False
​
print(is_student)   # True
print(is_teacher)   # False
​
# 查看类型
print(type(is_student))   # <class 'bool'>

二、比较运算符

作用:通过比较运算得到布尔类型的结果

运算符 含义 示例
== 等于 a == b
!= 不等于 a != b
> 大于 a > b
< 小于 a < b
>= 大于等于 a >= b
<= 小于等于 a <= b
复制代码
a = 10
b = 3
​
print(a == b)   # False(10等于3?不是)
print(a != b)   # True(10不等于3?是)
print(a > b)    # True(10大于3?是)
print(a < b)    # False(10小于3?不是)
print(a >= b)   # True(10大于等于3?是)
print(a <= b)   # False(10小于等于3?不是)
​
# 示例2
age = 18
print(age >= 18)   # True
print(age > 20)    # False

三、if 语句基本格式

语法

复制代码
if 判断条件:
    条件满足时执行的代码
复制代码
age = 18
​
if age >= 18:
    print("我已经成年了")   # 我已经成年了
​
# 当条件不满足时,不会执行
age2 = 10
if age2 >= 18:
    print("我已经成年了")   # (没有任何输出)

注意事项

  • 判断条件的结果必须是布尔类型

  • 条件后面要加冒号 :

  • if 内部的代码需要 4个空格缩进

复制代码
# 正确示例
score = 85
if score >= 60:
    print("及格了")     # 及格了
    print("继续加油")   # 继续加油
​
# 错误示例(缩进错误)
# if score >= 60:
# print("及格了")    # 缩进错误,会报错

四、if else 语句

语法

复制代码
if 判断条件:
    条件满足时执行的代码
else:
    条件不满足时执行的代码
复制代码
age = 16
​
if age >= 18:
    print("我已经成年了")
    print("可以看电影了")
else:
    print("我还没有成年")
    print("不能看电影")
​
# 输出:
# 我还没有成年
# 不能看电影
复制代码
# 示例2:判断身高
height = 130
​
if height > 120:
    print("身高超过120cm,需要买票")   # 身高超过120cm,需要买票
else:
    print("身高未超过120cm,免票")
​
# 当 height = 110 时:
# 身高未超过120cm,免票

注意事项

  • else 后面不需要判断条件,直接跟冒号

  • else 内部的代码也需要4个空格缩进


五、if elif else 语句

语法:用于多个条件的判断(互斥且有序)

复制代码
if 条件1:
    条件1满足时执行
elif 条件2:
    条件2满足时执行
elif 条件3:
    条件3满足时执行
else:
    所有条件都不满足时执行
复制代码
# 示例1:成绩等级判断
score = 85
​
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")      # 良好
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")
复制代码
# 示例2:猜数字游戏
secret_number = 5
guess = int(input("请输入猜测的数字:"))
​
if guess == secret_number:
    print("恭喜猜中了!")
elif guess > secret_number:
    print("猜大了")
else:
    print("猜小了")

输入: 7输出: 猜大了 输入: 3输出: 猜小了 输入: 5输出: 恭喜猜中了!

复制代码
# 示例3:直接写input在条件中
secret = 8
​
if int(input("猜猜数字:")) == secret:
    print("猜中了")
elif int(input("不对,再猜一次:")) == secret:
    print("第二次猜中了")
else:
    print("两次都没猜中")

注意事项

  • elif 可以写多个

  • 判断是互斥且有序的,满足上一个就不会执行后面的

  • else 可以省略不写


六、判断语句的嵌套

语法 :在 if 内部再写 if,通过空格缩进决定层次关系

复制代码
# 基础嵌套
age = 25
is_student = True
​
if age >= 18:
    print("已成年")
    if is_student:
        print("是学生,享受学生优惠")   # 已成年\n是学生,享受学生优惠
    else:
        print("不是学生,全价票")
else:
    print("未成年,免票")
复制代码
# 示例2:公司礼物领取判断
# 条件:年龄18-30岁之间,并且(入职时间>2年 或 级别>3)
​
age = 25
work_years = 3
level = 2
​
if 18 <= age < 30:
    print("年龄符合要求")
    if work_years > 2 or level > 3:
        print("可以领取礼物")   # 年龄符合要求\n可以领取礼物
    else:
        print("不符合领取条件")
else:
    print("年龄不符合要求")
复制代码
# 示例3:三层嵌套猜数字
import random
​
secret = random.randint(1, 10)  # 随机产生1-10的数字
print("游戏开始!你有3次机会")
​
if int(input("第一次猜测:")) == secret:
    print("第一次就猜中了!")
else:
    if int(input("第二次猜测:")) == secret:
        print("第二次猜中了!")
    else:
        if int(input("最后一次猜测:")) == secret:
            print("最后一次猜中了!")
        else:
            print(f"机会用完了,答案是{secret}")

假设 secret = 5,输入 3, 4, 5:

复制代码
游戏开始!你有3次机会
第一次猜测:3
第二次猜测:4
最后一次猜测:5
最后一次猜中了!

嵌套的关键点

  • 通过空格缩进决定层次关系

  • 外层条件满足,才会进入内层判断

  • 可以自由组合 ifelifelse


七、实战案例:猜数字完整版

复制代码
import random
​
# 随机产生1-10的数字
secret_number = random.randint(1, 10)
print("猜猜我心里想的数字(1-10)")
​
# 第一次猜测
guess = int(input("请输入第一次猜测:"))
​
if guess == secret_number:
    print(f"恭喜!第一次就猜中了!答案是{secret_number}")
else:
    if guess > secret_number:
        print("猜大了")
    else:
        print("猜小了")
    
    # 第二次猜测
    guess = int(input("请输入第二次猜测:"))
    if guess == secret_number:
        print(f"恭喜!第二次猜中了!答案是{secret_number}")
    else:
        if guess > secret_number:
            print("猜大了")
        else:
            print("猜小了")
        
        # 第三次猜测
        guess = int(input("请输入第三次猜测:"))
        if guess == secret_number:
            print(f"恭喜!第三次猜中了!答案是{secret_number}")
        else:
            print(f"很遗憾,三次都没猜中!答案是{secret_number}")

假设 secret_number = 7,输入 5, 8, 7:

复制代码
猜猜我心里想的数字(1-10)
请输入第一次猜测:5
猜小了
请输入第二次猜测:8
猜大了
请输入第三次猜测:7
恭喜!第三次猜中了!答案是7

八、综合练习:成年人判断+买票

复制代码
# 练习1:成年人判断
age = int(input("请输入你的年龄:"))
​
if age >= 18:
    print("您已成年,需要补票")   # 输入18时输出:您已成年,需要补票
else:
    print("您未成年,免票")
复制代码
# 练习2:身高判断买票
height = int(input("请输入身高(cm):"))
​
if height > 120:
    print("身高超过120cm,需要买票")
else:
    print("身高未超过120cm,免票")

九、易错点速记

复制代码
# 1. 忘记冒号
# if age >= 18   # 语法错误,缺少冒号
#     print("成年")
​
# 正确写法
if age >= 18:
    print("成年")
​
# 2. 缩进错误
# if age >= 18:
# print("成年")   # IndentationError
​
# 3. else 写了条件
# if age >= 18:
#     print("成年")
# else age < 18:   # 语法错误,else不能写条件
#     print("未成年")
​
# 4. 比较运算符混淆
# if age = 18:     # 错误,=是赋值,==才是比较
if age == 18:      # 正确
    print("刚好18岁")
​
# 5. 数据类型不匹配
# if input("输入年龄") >= 18:   # 错误,input返回字符串
if int(input("输入年龄")) >= 18:   # 正确,先转整数
    print("成年")

十、判断语句速查表

语句 语法 使用场景
if if 条件: 单条件判断
if else if 条件: else: 二选一
if elif else if 条件1: elif 条件2: else: 多条件互斥选择
嵌套 if 条件1: if 条件2: 多层条件判断
运算符 含义
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
布尔值 含义
True 真/是/成立
False 假/否/不成立
相关推荐
刚子编程1 小时前
C# Join 进阶:GroupJoin、性能对决与自定义比较器
java·servlet·c#·join
2301_815645381 小时前
html.
前端·html
漫随流水1 小时前
IDEA快速生成构造方法(空参、带参)
java·intellij-idea
spencer_tseng2 小时前
Spring Boot 3.0+ jakarta.*
java·spring boot
Bat U2 小时前
JavaEE|文件操作和IO
java·开发语言
qq_381338502 小时前
CSS @layer 级联层实战指南:从样式冲突到分层架构
前端·css
广州华水科技2 小时前
深度测评2026年好用的单北斗GNSS变形监测系统推荐,提升GNSS位移监测精度,引领智能监控新风尚
前端
脉动数据行情2 小时前
Python 实现融通金行情数据对接(实时推送 + K 线 + 产品列表)
开发语言·python
wltx16882 小时前
谷歌SEO如何做插床优化?
大数据·人工智能·python