目录
[三、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
最后一次猜中了!
嵌套的关键点:
-
通过空格缩进决定层次关系
-
外层条件满足,才会进入内层判断
-
可以自由组合
if、elif、else
七、实战案例:猜数字完整版
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 |
假/否/不成立 |