python-布尔表达式,,1、布尔表达式条件语


1、布尔表达式
条件语句和循环语句都使用布尔表达式作为条件

布尔值为真或假,以False和True表示,前面经常使用布尔表达式比较两个值,如:whilex>=0

2、布尔操作符
(1)布尔操作符: and,or和 not

布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果

<expr> and <expr>

<expr> or <expr>

not运算符是一个一元运算符,用来计算一个布尔表达式的反

not <expr>

(2)Python中布尔操作符的优先级,从高分到低分依次是not、 and最低是or。

所以上面的达式等于如下这个带括号的版本

壁球比赛计分例子

a和b代表两个壁球选手的分数

规则1:只要一个选手达到了15分,本场比赛就结束;如果一方打了七分而另一方一分未得时,比赛也会结束

if (a==15 or b==15)or (a==7 and b==0) or (a==0 and b==7):    print(‘比赛结束‘)

规则2:需要一个团队赢得至少两分才算赢,即其中一个队已经达到了15分,且分数差异至少为2时比赛结束

if (a==15 or b==15)or (a==7 and b==0) or (a==0 and b==7):    print(‘比赛继续‘)

(3)布尔代数

技术分享

(4)布尔表达式作为决策

只要用户响应一个“Y” 程序就继续。为了让用户输入一个大写或小写,可以使用以下的循环:

对于序列类型来说,一个空序列被解释为假,而任何非空序列被指示为真

 1 >>> bool(0) 2 False 3 >>> bool(1) 4 True 5 >>> bool(32) 6 True 7 >>> bool(y) 8 Traceback (most recent call last): 9   File "<pyshell#6>", line 1, in <module>10     bool(y)11 NameError: name ‘y‘ is not defined12 >>> bool(‘y‘)13 True14 >>> bool(‘‘)15 False16 >>> bool([])17 False

技术分享

这里可以解释,下面的程序,是判断response[0]等于y,或者Y,由于Y是bool型中始终为True,所以始终符合条件,形成死循环。注意布尔条件的拆分与组合。

3、布尔表达式-简洁表示

(1)如果用户仅仅简单敲下回车键,可以使用方括号中的值作为默认值

1 ans=input("what sports do you want[football]:")2 if ans!="":3     sport=ans4 else:5     sport=‘football‘6 print(sport)

技术分享

(2)布尔语句简化

1 ans=input("what sports do you want[football]:")2 if ans:3     sport=ans4 else:5     sport=‘football‘6 print(sport)

技术分享

去掉!=‘’后,只要判断的bool语句是True,就执行。

(3)简化

1 ans=input("what sports do you want[football]:")2 sport=ans or ‘football‘3 print(sport)

技术分享

python-布尔表达式

评论关闭