Python判断语句学习笔记
在程序设计中,判断语句是基础且核心的部分,它能让程序根据不同条件执行不同操作。
一、布尔类型和比较运算符
(一)布尔类型
- 定义与用途:布尔类型用于表示真和假,在Python里有两个字面量,
True
代表真,False
代表假。它常被用于逻辑判断,为程序决策提供依据。 - 定义方式:可以通过直接赋值定义布尔类型变量。例如:
布尔类型数据还能通过计算得出,比较运算符就是常用的计算方式。is_student = True is_teacher = False
(二)比较运算符
- 常见比较运算符
①.==
:判断内容是否相等,相等则返回True
,否则返回False
。示例:
②.result1 = 5 == 5 print(result1) #True
!=
:判断内容是否不相等,不相等返回True
,相等返回False
。示例:
③.result2 = 3 != 4 print(result2) #True
>
:判断左侧内容是否大于右侧,满足条件返回True
,否则返回False
。示例:
④.result3 = 7 > 5 print(result3) #True
<
:判断左侧内容是否小于右侧,满足条件返回True
,否则返回False
。示例:
⑤.result4 = 2 < 6 print(result4) #True
>=
:判断左侧内容是否大于等于右侧,满足条件返回True
,否则返回False
。示例:
⑥.result5 = 4 >= 4 print(result5) #True
<=
:判断左侧内容是否小于等于右侧,满足条件返回True
,否则返回False
。示例:result6 = 8 <= 9 print(result6) #True
- 综合示例
num1 = 10 num2 = 15 # 10 == 15 的结果是: False, 类型是: <class 'bool'> print(f"{num1} == {num2} 的结果是: {num1 == num2}, 类型是: {type(num1 == num2)}") # 10 != 15 的结果是: True, 类型是: <class 'bool'> print(f"{num1} != {num2} 的结果是: {num1 != num2}, 类型是: {type(num1 != num2)}") # 10 > 15 的结果是: False, 类型是: <class 'bool'> print(f"{num1} > {num2} 的结果是: {num1 > num2}, 类型是: {type(num1 > num2)}") # 10 < 15 的结果是: True, 类型是: <class 'bool'> print(f"{num1} < {num2} 的结果是: {num1 < num2}, 类型是: {type(num1 < num2)}") # 10 >= 15 的结果是: False, 类型是: <class 'bool'> print(f"{num1} >= {num2} 的结果是: {num1 >= num2}, 类型是: {type(num1 >= num2)}") # 10 <= 15 的结果是: True, 类型是: <class 'bool'> print(f"{num1} <= {num2} 的结果是: {num1 <= num2}, 类型是: {type(num1 <= num2)}")
二、if语句
(一)基本格式
if 要判断的条件:
条件成立时要做的事情
示例:判断一个数是否大于5。
number = 8
if number > 5:
print(f"{number} 大于 5")
(二)注意点
- 判断条件结果:判断条件的结果必须是布尔类型,
True
时执行if
内代码语句,False
则不执行。 - 冒号与缩进:判断条件后需加冒号,且归属于
if
判断的代码语句块要缩进4个空格,Python靠缩进判断代码块归属。示例:
age = 20
if age >= 18:
print("已成年,可以独立进行一些活动")
三、if else语句
(一)基本格式
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
# 可继续添加满足条件时执行的代码
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
# 可继续添加不满足条件时执行的代码
(二)示例
判断一个数是否为偶数,如果是偶数输出“这是偶数”,否则输出“这是奇数”。
num = 7
if num % 2 == 0:
print("这是偶数")
else:
print("这是奇数")
(三)注意点
else
后无需判断条件,当if
条件不满足时,自动执行else
代码块。else
代码块也要缩进4个空格,与if
代码块保持一致的缩进规范。
四、if elif else语句
(一)基本格式
if 条件1:
满足条件1时要做的事情
elif 条件2:
满足条件2时要做的事情
# 可添加多个elif条件
else:
所有条件都不满足时要做的事情
(二)示例
根据学生成绩给出不同评价:90分及以上为“优秀”,80 - 89分为“良好”,60 - 79分为“及格”,60分以下为“不及格”。
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
(三)注意点
elif
可写多个,用于添加更多判断条件。- 判断具有互斥性和顺序性,满足前面某个条件后,后续条件不再判断。
- 可在条件判断中直接写
input
语句,减少代码量。但要注意输入数据的类型转换。例如:
age = int(input("请输入你的年龄:"))
if age < 18:
print("未成年人")
elif age < 60:
print("成年人")
else:
print("老年人")
五、判断语句的嵌套
(一)基本概念
判断语句的嵌套指在一个判断语句内部再包含其他判断语句,用于实现复杂的多层次逻辑判断。
(二)基本格式
if 条件1:
满足条件1做的事情1
满足条件1做的事情2
if 条件2:
满足条件2做的事情1
满足条件2做的事情2
(三)示例
判断一个人是否能进入特定场所,需同时满足年龄大于18岁且是会员。
age = 20
is_member = True
if age > 18:
if is_member:
print("欢迎进入!")
else:
print("非会员,无法进入")
else:
print("未成年禁止入内")
(四)注意点
- 嵌套判断语句常用于多条件、多层次逻辑判断场景。
- 可根据需求自由组合
if
、elif
、else
构建复杂判断逻辑。 - 务必注意空格缩进,缩进决定了语句的层次关系。
六、实战案例 - 猜水果价格游戏
(一)案例需求
商家随机设定一种水果(苹果、香蕉、橙子、葡萄)的价格,价格范围在 5 - 20 元每斤,玩家有 4 次机会猜测该水果的价格。每次猜错时,系统会给出 “猜高了” 或 “猜低了” 的提示。如果玩家在 4 次机会内猜对价格,将获得 “购物小能手” 的称号;若 4 次都没猜对,系统会告知正确价格。
(二)代码实现
import random
# 定义水果列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
# 随机选择一种水果
fruit = random.choice(fruits)
# 随机生成水果的价格,范围在 5 - 20 元
price = random.randint(5, 20)
# 初始化猜测次数
count = 0
print(f"欢迎参加猜水果价格游戏!现在商家拿出了 {fruit},你有 4 次机会猜测它每斤的价格,价格范围在 5 - 20 元。")
while count < 4:
try:
# 获取玩家的猜测价格
guess = int(input("请输入你猜测的价格(元/斤):"))
# 检查猜测价格是否在合理范围
if guess < 5 or guess > 20:
print("你输入的价格不在 5 - 20 元范围内,请重新输入。")
continue
count = count + 1
if guess == price:
print("恭喜你,猜对啦!你获得了“购物小能手”的称号!")
break
elif guess > price:
print("猜高了,再试试。")
else:
print("猜低了,再试试。")
except ValueError:
print("输入无效,请输入一个整数。")
if count == 4 and guess != price:
print(f"很遗憾,4 次都没猜对,{fruit} 的正确价格是 {price} 元/斤。")