Python入门(二)编程中的“真”与“假”,单双向选择的判断

编程中的“真”与“假”

在编程中,这种“真”、“假”状态我们用布尔数来表示,“真”是True,“假”是False。

另一种方式,是通过比较运算得到。

如图,3赋值给a,1赋值给b,进行大小的比较。
a > b,是“真”的,输出True;
a < b,是“假”的,输出False。

类似这样进行比较的行为,就是比较运算。

比较运算,可以根据单个条件,输出True或False的结果。

当对一个事物的判断涉及到多个条件的时候,就需要使用逻辑运算把多个条件连接起来。

比如,我国男飞行员的身高要求是169 - 185厘米,换成逻辑表达就是“飞行员的身高必须要>=169厘米,并且,<=185厘米。

这里的“并且”就是一个逻辑运算

“并且”、“或者”和“非”这三种逻辑运算。在Python中,会用逻辑运算符来表达,包括:
and(并且)
or(或者)
not(非)。

实例中,第1行代码给变量a赋值了布尔数True(真);

第2行代码给变量b赋值了布尔数False(假);

第3行代码输出了a和b进行and逻辑运算的结果。

第4行代码输出了a和b进行or逻辑运算的结果

第5行代码输出了a进行not逻辑运算的结果。

 

a = True
b = False
print(a and b)
print(a or b)
print(not a)

程序需要判断 App 是否被点击,判断用户是否已注册,根据不同的条件触发不一样的动作。

在编程语言中,可以用“判断语句”来处理这类判断问题。

 

 这段代码将两个人的年龄进行判断,并且输出了结论。

第1行和第2行代码,将年龄分别赋值给两个变量。

第4行代码将两个变量进行判断。

第5行代码,输出"你的年龄比我大"。

 

yourAge =  20
myAge = 18

if yourAge > myAge:    
    print("你的年龄比我大")

 

前面有提到 if 是关键字,那什么是关键字呢?

关键字是 Python 中一些已经被赋予特定意义的单词,不能被用来作为变量名,函数名,类名等(函数和类后面的课程会讲到)。

在我们已经学过的知识里,and,or,not,True,False都是关键字。

此外,由于变量名区分大小写,所以 if 不能作为变量名,但 IF 、If、iF可以。

 同一层级的代码集合叫做代码块,代码块中的代码会按由上至下的顺序执行。

在 Python 中,通过缩进来划分代码块。

例如:Tony的年龄是12岁,Kevin的年龄是11岁。判断谁的年龄更大,然后输出他的名字。

我们需要考虑两种情况:
1. 如果 Tony 比 Kevin 大,输出 Tony 的名字;

2. 如果 Tony 比 Kevin 小,输出 Kevin 的名字。

在这里,连续使用两个 if 判断就可以得到结果,编写出来的代码如图所示。

 

if 判断语句需要大量用到逻辑运算里的 True 和 False。

比如“你注册了么”,“今天天气是不是晴天”,“你的年纪是不是比我大”等等。

所以判断语句和比较运算、逻辑运算的联系是非常紧密的。

在上节课中,我们学习了 if 判断,如果布尔表达式成立,就执行后面的代码块。

假设,if 判断后面的布尔表达式不成立,我们想要执行另外的代码块,这该怎么办呢?

本例中比较了变量 yourScore 和变量 myScore。

如果 yourScore 大于 myScore,就输出"你的得分比我高"。

第7行代码进行 else 判断,否则就输出"你的得分不比我高"。

yourScore = 80
myScore = 90

if yourScore > myScore:
    print("你的得分比我高")
else:
    print("你的得分不比我高")

if-else语句属于双向判断。

如果 if 的条件不成立,就执行 else 内的代码块。

if 和 else 是两个互斥关系,程序只会执行其中的一个。

当我们在同时使用 if 和 if-else 语句时,要注意 if 和 else 的关系。

例如,图例中的代码,包含了 2 个 if 判断和 1 个 if-else语句,这三个判断互不影响。

在这里,else 是与第 3 个 if 搭配成 if-else 语句,与前两个 if 无关。

在判断语句中,除了使用布尔表达式可以作为条件,还有其他的数据类型也可以作为判断条件。

思考一下图中代码为什么能够正常运行?

因为 myAge 被赋值了一个整型 20,所以它被判定为 True,于是程序继续执行了下一步代码。

在这里,变量myAge就是“非零非空”数据。

了解了“空值”后,“非空”就更好理解了。

当一个变量里有值,并且这个值不是空值,我们就说这个变量非空。

非空值可以是整型、字符串、浮点型和布尔数。

例子:

一批货物进价(bid)为200/件,售价(price)为300/件,进了10件货,卖了8件,回本了么?

提示:如果纯利润(profit)大于等于零,则输出“回本了”;否则输出“没有回本”。

bid = 200
price = 300
profit = price * 8 - bid * 10
if profit >= 0:
	print("回本了")
else:
	print("没有回本")

 下一期见

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值