Python Lesson 3: 布尔值和if流程《不好,女神回信了 我去!看不懂》

知识路线图

我们来思考一个问题?
还是之前计算女神的BMI相关数据的程序,如果我想根据计算出来的BMI数据,打印女神的身材级别?
进一步的,根据结果,决定是否和女神交往?应该怎么编程呢?

处理这类问题,就是本节课要讲到的条件判断语句!

条件判断

我们先看一个场景,就是女神会根据你的工资和年龄来判断是否和你交往?
比如:女神的条件是这样的,如果 工资 大于 20000 继续交往 不然 断交?

此处的 如果 。。。 不然 。。。 就是一个典型的条件判断
如果后面的 工资 大于 20000 只有 真 和 假两种情况
假设 工资变量 为 your_gongzi
新建一个变量表示 "工资是否大于20000", 取名为 gongzi_dayu_20000
思考一下这个变量应该怎么赋值?

布尔变量

类似上述 gongzi_dayu_20000 这样的变量,只会有 真 和 假两个取值
是一种新的变量类型,叫 布尔(bool)类型变量

python用 True 表示真, False 表示假

怎么表达 "工资是否大于20000"呢, gongzi_dayu_20000 = your_gongzi > 20000
注意等号右边的表示方法,其实就是表示 your_gongzi 是否大于20000

布尔值可以用 and 和 or来计算,结果还是布尔值
比如:2 > 1 and 3 > 2 结果为 True
比如:True or False 结果为 True


思考一下:your_age > 35 or your_age < 25 为真还是假?

表达式

gongzi_dayu_20000 = your_gongzi > 20000
我们看这句话的右侧,我们把 your_gongzi > 20000 这样的表达叫做 表达式
> 叫做比较运算符,还有以下比较运算方法
== 等于 != 不等于 > 大于 < 小于 >= <=



your_age > 35 or your_age < 25?假设 your_age = 28
28 > 35 or 28 < 25
False or False
False
以上就是这个表达式的计算过程,当然,如果你的age不是28.而是别的值,还需要代入表达式才能得到相应的结果.

if else

现在假设逻辑是这样的,如果 年龄 大于 35 或 小于 25 不交往,不然 继续交往?
记住,如果 。。。 不然 。。。 可以表达为 if 。。。 else 。。。
具体语法如下:
if 条件表达式: 注意这个:
----这个条件下执行的逻辑
else:
----不然的话执行的逻辑

if else 很像一个十字路口,到了路口,你只能根据当前条件,往左或者往右


思考一下,同样是表达"如果 年龄 大于 35 或 小于 25 不交往,不然 继续交往" 这个逻辑?
还有别的写法吗?

如何读程序

我们现在应该可以读懂女神的这封信了。
但是正确的读程序方法,还不是这么简单的
我们在理解了程序逻辑的基础上,记住这个逻辑,现在需要闭上眼睛,假设两个初始值 your_age 和 your_gongzi ?
请在你脑子里把程序逻辑跑一遍
如果代入若干个 age 和 gongzi 都可以正确的在脑子里运行,那么表示你读懂这段代码了?


请尝试在脑子里运行:.
1, 年龄 24 工资 15000
2, 年龄 28 工资 18000
3,年龄 27 工资 25000

综合练习

不知道你有没有发现,上面女神的这段程序,其实逻辑都不用改,只要根据当前男生的信息,就可以判断出结果
其实这种代码完全不动,只要有相应的输入,就能完成某个特定功能的逻辑,就是一段最基本的 程序了
思考一下:如果要为每个男生写一个程序,那程序还有意义吗?计算机的价值是不是就是重复的执行某个逻辑呢?

Sorry but the SQLBolt exercises require a more recent browser to run.
Please upgrade to the latest version of Internet Explorer, Chrome, or Firefox!

Otherwise, continue to the next lesson: SQL Lesson 2: Queries with constraints (Pt. 1)
Python小机器人嘴巴会打印东西,还可以拖动
练习 do it — 请完成如下任务
我不会做求助!求助!

继续努力 学下一节