【Python 第6课】bool


昨天说到了python中的几个基本类型,字符串、整数、浮点数都还算好理解,关于剩下的那个 bool(布尔值)我要稍微多说几句。

 

逻辑判断在编程中是非常重要的。大量的复杂程序在根本上都是建立在“”与“”的基本逻辑之上。而 bool 所表示的就是这种最单纯最本质的 True/False,真与假,是与非。

 

来看下面的例子:

a = 1 < 3
print(a)
b = 1
c = 3
print(b > c)

 

通过用“>”“<”来比较两个数值,我们就得到了一个bool值。这个bool值的真假取决于比较的结果。

 

“>”“<”在编程语言中被称为比较运算符(或叫 关系运算符),常用的比较运算符包括:

> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于(比较两个值是否相等。之所以用两个等号,是为了和变量赋值区分开来)
!= 不等于

还有一种逻辑运算符

not 逻辑“ 如果 x 为 True,则 not x 为 False
and 逻辑“ 如果 x 为 True,且 y 为 True,则 x and y 为 True
or 逻辑“ 如果 x、y 中至少有一个为 True,则 x or y 为 True

 

比较运算符和逻辑运算符的结果都是 bool 类型的值。

 

关于bool值和逻辑运算其实远不止这些,但现在我们暂时不去考虑那么多,以免被绕得找不到北。最基本的大于、小于、等于已经够我们先用一用的了。

 

试试把bool加到我们的小游戏里:

num = 10
print('Guess what I think?')
answer = int(input())

result = answer<num
print('too small?')
print(result)

result = answer>num
print('too big?')
print(result)

result = answer==num
print('equal?')
print(result)

 

代码比之前稍微多了一点,解释一下。

第一段代码:先创建一个值为10的变量 num,输出一句提示,然后再输入一个值给变量 answer。(因为input拿到的值是字符串而不是数字,这里我们需要将input的结果强行转成整数类型int)

第二段代码:计算 answer<num 的结果,记录在 result 里,输出提示,再输出结果。

第三段、第四段都与第二段类似,只是比较的内容不一样。

注意:当你自己写这段代码的时候,要确保不要有笔误,比如拼错单词,漏掉等号、引号、括号……。(这种情况在新手身上屡有发生)

 

 

看看结果是不是跟你预期的一致?虽然看上去还是有点傻,但是离目标又进了一步。(这里不管正确与否,三个答案都会被输出。如果你只要它输出正确的那一个结果,学到后面课程就知道了)

 

现在数数你手上的工具:输入输出,用来记录数值的变量,还有可以比较数值大小的逻辑运算。用它们在你的python里折腾一番吧。

 

#======== 课外的话 ========#

 

闲扯还是要的。有同学问,为什么这个语言要叫python。这个嘛,它肯定不是我起的。python,读作“派森”(差不多啦),中文意思“巨蟒”。其实是一个喜剧团体用了“Monty Python”这个名字,而python的创造者(Guido van Rossum 老爷子)又是他们的电视节目《Monty Python and the Flying Circus》(巨蟒飞行马戏团)的粉丝。当他还在自娱自乐地折腾python的雏形时,就拿来命了名。所以,你要是发明了一种语言,也可以命名个 GoT、TBBT、zhenhuan 之类的。