# 创建一些布尔值
= True
is_student = True
has_passed = False
is_weekend
print(f"我是学生吗?{is_student}")
print(f"我及格了吗?{has_passed}")
print(f"今天是周末吗?{is_weekend}")
我是学生吗?True
我及格了吗?True
今天是周末吗?False
想象你在回答一些只能用”是”或”否”来回答的问题,比如:
在Python中,这种”是”或”否”的答案就用布尔值(Boolean)来表示:
True
表示False
表示# 创建一些布尔值
= True
is_student = True
has_passed = False
is_weekend
print(f"我是学生吗?{is_student}")
print(f"我及格了吗?{has_passed}")
print(f"今天是周末吗?{is_weekend}")
我是学生吗?True
我及格了吗?True
今天是周末吗?False
就像我们在数学课上比较数字的大小一样,Python也可以进行各种比较:
= 85
score = 60
passing_score
# 比较成绩
print(f"分数是{score},及格分数是{passing_score}")
print(f"及格了吗?{score >= passing_score}")
print(f"满分了吗?{score == 100}")
print(f"需要补考吗?{score < passing_score}")
分数是85,及格分数是60
及格了吗?True
满分了吗?False
需要补考吗?False
符号 | 含义 | 例子 | 生活中的例子 |
---|---|---|---|
== |
等于 | age == 16 |
“你今年16岁吗?” |
!= |
不等于 | day != "周末" |
“今天不是周末吗?” |
< |
小于 | score < 60 |
“分数低于60分吗?” |
> |
大于 | height > 170 |
“身高超过170厘米吗?” |
<= |
小于等于 | age <= 18 |
“你是未成年吗?” |
>= |
大于等于 | score >= 90 |
“是优秀生吗?” |
# 实际例子
= 16
age = 175.5
height = 95
score
print("一些判断:")
print(f"是16岁吗?{age == 16}")
print(f"身高超过180厘米吗?{height > 180}")
print(f"成绩是优秀吗?{score >= 90}")
一些判断:
是16岁吗?True
身高超过180厘米吗?False
成绩是优秀吗?True
💡 特别注意
- 使用
==
(两个等号)来判断相等- 不要用
=
(一个等号),这是用来赋值的- 比较的结果永远是
True
或False
在Python中,我们可以使用 bool()
函数来判断一个值是”真”还是”假”。这就像是给东西做一个”有没有”的检查:
# 数字 -> 布尔值
print("=== 数字的转换 ===")
print(f"数字0转换后:{bool(0)}") # False,因为是零
print(f"数字1转换后:{bool(1)}") # True,因为不是零
print(f"数字-1转换后:{bool(-1)}") # True,因为不是零
print(f"小数0.0转换后:{bool(0.0)}") # False,因为是零
print(f"小数0.1转换后:{bool(0.1)}") # True,因为不是零
=== 数字的转换 ===
数字0转换后:False
数字1转换后:True
数字-1转换后:True
小数0.0转换后:False
小数0.1转换后:True
💡 记忆技巧:数字中,只有0是False,其他都是True
# 字符串 -> 布尔值
print("\n=== 字符串的转换 ===")
print(f"空字符串''转换后:{bool('')}") # False,因为是空的
print(f"字符串'Hello'转换后:{bool('Hello')}") # True,因为不是空的
print(f"字符串'0'转换后:{bool('0')}") # True,因为不是空的
print(f"空格字符串' '转换后:{bool(' ')}") # True,因为不是空的
=== 字符串的转换 ===
空字符串''转换后:False
字符串'Hello'转换后:True
字符串'0'转换后:True
空格字符串' '转换后:True
💡 记忆技巧:字符串中,只有空字符串(’’)是False,其他都是True
# 列表、字典等 -> 布尔值
print("\n=== 容器类型的转换 ===")
print(f"空列表[]转换后:{bool([])}") # False,因为是空的
print(f"有内容的列表[1,2]转换后:{bool([1,2])}") # True,因为不是空的
print(f"空字典{{}}转换后:{bool({})}") # False,因为是空的
print(f"空元组()转换后:{bool(())}") # False,因为是空的
=== 容器类型的转换 ===
空列表[]转换后:False
有内容的列表[1,2]转换后:True
空字典{}转换后:False
空元组()转换后:False
💡 记忆技巧:容器中,空的就是False,有东西就是True
在生活中,我们经常需要根据不同的情况做出不同的选择。比如:
Python中的条件语句就是用来处理这种”如果…就…“的情况。
# 简单的成绩评价系统
= 85
score
if score >= 90:
print("真棒!继续保持!")
else:
print("还可以更好!")
# 运行后会显示:"还可以更好!"
还可以更好!
有时候我们需要判断多种情况:
# 完整的成绩评价系统
= 85
score
if score >= 90:
print("优秀!继续保持!")
elif score >= 80:
print("良好!还可以更好!")
elif score >= 60:
print("及格了!但要继续努力!")
else:
print("没关系,下次一定能行!")
# 运行后会显示:"良好!还可以更好!"
良好!还可以更好!
💡 条件语句的结构
if
表示”如果”elif
表示”否则如果”(else if 的缩写)else
表示”否则”(其他情况)- 记得在条件后面加上冒号
:
- 条件成立时要执行的代码要缩进写
让我们来写一个更实用的程序:
= 95
score = True
homework_done = 0.95
attendance
if score >= 90 and homework_done and attendance >= 0.9:
print("表现非常优秀!继续保持!")
print("建议:可以帮助同学,提高自己")
elif score >= 75 and homework_done:
print("表现不错!还可以更好!")
print("建议:多做一些难题,提升能力")
elif score >= 60:
print("基本及格,但需要更努力!")
print("建议:完成所有作业,提高出勤率")
else:
print("需要加倍努力!")
print("建议:制定学习计划,每天完成作业")
表现非常优秀!继续保持!
建议:可以帮助同学,提高自己
有时候我们需要在一个条件内部再做判断:
= 85
score = 0.9
attendance = True
project_completed
if score >= 60: # 第一层条件:成绩及格
if attendance >= 0.8: # 第二层条件:出勤率达标
if project_completed: # 第三层条件:完成项目
print("恭喜!可以毕业!")
else:
print("项目未完成,需要补交")
else:
print("出勤率不足,需要补课")
else:
print("成绩不及格,需要补考")
恭喜!可以毕业!
# 判断是否及格
= score >= 60
is_passing print("及格" if is_passing else "不及格")
及格
# 判断是否是优秀学生
= score >= 90 and homework_done and attendance >= 0.9 is_excellent
🌟 要点总结
- 条件语句帮助程序做选择
- 使用缩进来表示代码块
- 可以使用
if
、elif
、else
处理多种情况- 条件可以组合使用
- 记得在条件后面加冒号
:
在生活中,我们经常需要同时考虑多个条件。比如:
Python提供了三种逻辑运算符来处理这些情况:
and
(并且):所有条件都必须为真or
(或者):至少一个条件为真not
(不是):条件的反面就像你要拿到游戏机需要同时满足”作业完成”和”考试及格”两个条件:
= True
homework_done = True
test_passed
if homework_done and test_passed:
print("太棒了!可以玩游戏了!")
else:
print("还不能玩,继续努力!")
太棒了!可以玩游戏了!
比如放学后学习,去图书馆或自习室都可以:
= False
library_open = True
study_room_open
if library_open or study_room_open:
print("找到地方学习了!")
else:
print("今天只能回家学习了")
找到地方学习了!
用来表示条件的反面:
= False
is_weekend print("今天" + ("不用" if not is_weekend else "要") + "上学")
今天不用上学
让我们来写一个更实用的例子:
= True
homework_done = 95
test_score = True
is_weekend
if not homework_done:
print("作业都没做完,先把作业做完吧!")
elif test_score < 60:
print("考试不及格,需要好好复习!")
elif is_weekend and homework_done and test_score >= 90:
print("周末到了,而且表现很棒,可以尽情玩游戏!")
elif homework_done and test_score >= 60:
print("可以玩一会儿游戏,但要注意时间!")
else:
print("继续努力!")
周末到了,而且表现很棒,可以尽情玩游戏!
有时我们需要组合多个条件。建议使用括号让条件更清晰:
= 16
age = 85
score = False
has_permission
= (age >= 15 and score >= 80) or (has_permission and age >= 13)
can_join
if can_join:
print("恭喜!可以参加活动!")
else:
print("抱歉,暂时不能参加活动")
恭喜!可以参加活动!
if (score >= 60 and homework_done) or is_weekend:
print("可以玩游戏")
可以玩游戏
not
最先运算and
or
🌟 记住要点
and
:都必须为真(像是”且”)or
:其中之一为真就行(像是”或者”)not
:取反(像是”不是”)- 多个条件时最好用括号分组
- 条件的顺序:not > and > or