#少儿编程#
上一篇我们讲了Python的数学运算,在“全国青少年软件编程等级考试”的Python一级考纲里除了要求掌握数学运算,还有逻辑运算和比较运算。
逻辑运算和比较运算一般多用于分支结构(或选择结构)。什么是分支结构,在我前面的写的文章中,已经多次介绍过这种程序结构了,这里就不再说了。这一篇我们就一起来看看这两种运算。
1、比较运算
故名思议,比较运算就是比较两者的大小,如下表:
Python中的比较操作和我们在数学课上学到的一样。
图1中,将x的值设为3,y的值设为5。
代码①:x==y,这个比较运算其实就是判断3是否等于5。显而易见,3不等于5,所以返回的结果是False,也就是假。
代码②:x != y,这个比较运算就是判断3是否不等于5。很明显,3确实不等于5,所以返回值为True,也就是真。
图1
图2中,将x的值设为4,y的值也设为4。
代码①:x>y,这个比较运算就是判断4是否大于4。那4确实不大于4,所以返回False。
代码②:x>=y,这个比较运算就是判断4是否大于或者等于4。显然,4虽然不大于4,但是它等于4,所以也是满足条件的,所以最后返回值为True。
图2
图3中,还是将x和y的值都设为4。
代码①:x
代码②:x<=y,这个比较运算就是判断4是否小于或者等于4。显然,4虽然不小于4,但是它等于4,所以也是满足条件的,那么最后返回值为True。
图3
特别注意:
“=”和“==”的区别:对于初学者,这两个符号容易混淆。“=”是赋值语句,x=3,意思就是把3赋值给变量x,这时变量x的值为3。
“==”是比较运算符,x==3,意思就是x的值是否等于3,有可能等于,也有可能不等于,这个要看变量x的值是多少了。
图4
2、逻辑运算
逻辑运算符如下表:
逻辑运算多用于复合条件的判断,我们来看一个例子:假设我们要创建一个游戏,要求玩游戏的人必须至少是8岁,且至少上3年级。那么如何写这个判断条件呢?
图5中,我们将一个玩家的年龄age设为7(指7岁),年级grade设为3(指3年级)。
代码①就是按照我们的要求写的判断条件,“age>=8 and grade>=3”,年龄至少是8岁,即年龄(age)必须大于或等于8,年级至少上3年级,即年级(grade)必须大于或等于3。但由于我们设定的玩家年龄只有7岁,所以尽管他已经上3年级了(满足grade>=3),但是由于年龄小于8岁(不满足age>=8),所以整个判断条件的返回值是False,所以他不能玩这个游戏。
要想让这个人能玩游戏,我们可以修改条件,如代码②,将判断条件改为“age>=7 and grade>=3”,即年龄大于或等于7岁且至少已经上3年级了,那这个人由于两个条件都满足,整个判断条件的返回值为True,他就可以玩游戏了。
图5
图6所示的是or操作,我们还是将一个玩家的年龄age设为7,年级grade设为3。
代码①:age>=8 or grade>=3,意思就是玩家年龄大于等于8岁,或者至少上了3年级,两个条件满足一个就算满足整体条件了。那由于我们设定的这个玩家虽然年龄不满足8岁但他已经上了3年级,所以还是满足整体判断条件的,因此返回值为True。
代码②:age>=8 or grade>=4,意思就是玩家年龄大于等于8岁,或者至少上了3年级,两个条件满足一个就算满足整体条件了。那由于我们设定的玩家两个条件都不满足,所以整体判断条件返回值为False。
图6
图7所示的是not操作,它表示的是一个相反的逻辑。比如我们还是将玩家年龄设为7岁。
代码①:not age>=8,意思就是最终的返回值与age>=8相反。我们设定的玩家是7岁,7小于8,是不满足age>=8这个条件的,即为假,那加上not操作,所以最终的返回值是为True。
代码②也是一个意思,玩家7岁是满足age>=7这个条件的,即为真,那加上not操作,最终的返回值就是False了。
图7
以上就是Python中的比较运算和逻辑运算的用法,那么到底在实际编程中如何运用呢?在后面我们讲分支结构时会实际用到。
再次强调,要想学会编程,一定要自己动手写,虽然这篇没有实际的练习,但是上面举的例子还是要自己动手敲一遍,小朋友们也可以自己变换条件,来看看自己的判断是否和实际运行的结果一致。
原创不易,请勿抄袭。欢迎大家关注我,和我多交流,如果你喜欢,请转赞评三连,谢谢。