python-布尔表达式

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

布尔值为真或假,以False和True表示,前面经常使用布尔表达式比较两个值,如:while x>=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 defined
12 >>> bool(‘y‘)
13 True
14 >>> bool(‘‘)
15 False
16 >>> 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=ans
4 else:
5     sport=‘football‘
6 print(sport)

(2)布尔语句简化

1 ans=input("what sports do you want[football]:")
2 if ans:
3     sport=ans
4 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)

时间: 2024-10-11 08:27:14

python-布尔表达式的相关文章

Python基础知识进阶(五---2)----程序基本结构、简单分支、异常处理、三大实例分析、基本循环结构、通用循环构造方法、死循环\嵌套循环、布尔表达式

上一篇随笔写的内容有点多了,决定分成两节,不然自己看的时候也头疼. 三者最大实例: 分支结构可以改变程序的控制流,算法不再是单调的一步步顺序执行. 假设:以找出三个数字中最大者的程序设计为例. 输入:三个数值. 处理:三者最大算法 输出:打印最大值 计算机怎么能确定哪个是计算机输入的最大值呢? 策略1:通盘比较 将每个值与其他所有值比较以确定最大值. if x1>=x2 and x1>=x3: max = x1 elif x2>=x1 and x2>= x3: max = x2 e

python学习之循环

为什么需要循环,假如设想这样一种情况,如果你需要打印一条语句1000次,如果没有循环,你必须输出这条语句1000次,而使用循环只需要二行代码就可以完成这个目的. 所有的循环方式都是类C语言的,除过语言特性不一样 while循环:当一个条件保持为真时while循环重复执行语句 while循环的语法: while loop--continuation-condition: Statement(s) 一个循环体单次执行被称作循环的一次迭代,每个循环都包含一个循环继续条件,这是控制循环体执行的布尔表达式

Python成长之路第一篇(4)_if,for,while条件语句

有了以上的基本基础,已经上面写的几个小练习,大家肯定有很多的不满,比如查询为什么查询一次就退出了呢?下面我们来学习条件语句 一.万恶的加号 以前我们在print的时候如果要加上变量都有是使用+来作为连接,但是这样做是不好的 因为在使用加号的时候,会在内存中开辟新的内存地址来存放新的内容这样做的坏处就是增加了内存的消耗 那么我们该怎么办呢? (1)字符串格式化 ①内置占位符 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符

Python数据结构(二)

5.2. The del statement There is a way to remove an item from a list given its index instead of its value: the del statement. This differs from the pop() method which returns a value. The del statement can also be used to remove slices from a list or

笨办法学Python(二十八)

习题 28: 布尔表达式练习 上一节你学到的逻辑组合的正式名称是"布尔逻辑表达式(boolean logic expression)".在编程中,布尔逻辑可以说是无处不在.它们是计算机运算的基础和重要组成部分,掌握它们就跟学音乐掌握音阶一样重要. 在这节练习中,你将在 python 里使用到上节学到的逻辑表达式.先为下面的每一个逻辑问题写出你认为的答案,每一题的答案要么为 True 要么为 False.写完以后,你需要将python 运行起来,把这些逻辑语句输入进去,确认你写的答案是否

笨办法学Python(二十九)

习题 29: 如果(if) 下面是你要写的作业,这段向你介绍了"if语句".把这段输入进去,让它能正确执行.然后我们看看你是否有所收获. 1 people = 20 2 cats = 30 3 dogs = 15 4 5 6 if people < cats: 7 print "Too many cats! The world is doomed!" 8 9 if people > cats: 10 print "Not many cats!

《Python编程从入门到实践》_第五章_if语句

条件测试 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试.Python根据条件测试的值为Ture还是False来决定是否执行if语句中的代码.如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码:如果为False,Python就忽略这些代码. 字符串比较 字符串检查时是区分大小写的 检查是否相等 >>> car = "bmw" >>> car == "bmw" True &

Python黑帽编程2.4 流程控制

Python黑帽编程2.4  流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if …..else 先上一段代码: #!/usr/bin/python # -*- coding: UTF-8 -*- x=int(input('请输入一个整数:')) if x==0: print '%d ==0' % x elif x<0: print '%d <0' % x else: print '%d >0' % x 这段代码使用if,elif和else三个

Python学习笔记整理(十)Python的if测试

if语句是选取要执行的操作. 一.if语句 1.通用格式 形式是if测试,后面跟着一个或多个可选的elif(else if)测试,以及一个最终选用的else块.测试和else部分可以结合嵌套语句块,缩进列在行首下面.Python会执行第一个结算结果为真的代码块,或者如果所有测试都为假时,就执行else块. if语句一般形式如下: if <test1>:     <statements1> elif <test2>:     <statements2> els

笨办法学Python(三十二)

习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将"if 语句"和"布尔表达式"结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快地完成重复的事情.这节习题中我们将使用 for-loop (for 循环)来创建和打印出各种各样的列表.在做的过程中,你会逐渐明白它们是怎么回事.现在我不会告诉你,你需要自己找到答案. 在你开始使用 for 循环之前,你需要在某个位置存放循环的结果.最好的方法是使用列表