【Python 第6课】bool
昨天说到了python中的几个基本类型,字符串、整数、浮点数都还算好理解,关于剩下的那个 bool(布尔值)我要稍微多说几句。
逻辑判断在编程中是非常重要的。大量的复杂程序在根本上都是建立在“真”与“假”的基本逻辑之上。而 bool 所表示的就是这种最单纯最本质的 True/False,真与假,是与非。
来看下面的例子:
a = 1 < 3
print(a)
b = 1
c = 3
print(b > c)
通过用“>”“<”来比较两个数值,我们就得到了一个bool值。这个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 之类的。
来源:Crossin的编程教室