在Python编程的学习中,布尔逻辑可以说是无处不在。布尔表达式是计算机运算的基础和重要组成部分,掌握它们就跟学音乐要掌握音阶一样有必要。今天本文将带大家一起来学习布尔表达式,主要内容有布尔表达式的概念、逻辑问题演示以及理清复杂逻辑的技巧。

1、布尔表达式的概念

条件语句和循环语句都使用布尔表达式作为条件。布尔值为真或假,以False和True表示,前面经常使用布尔表达式比较两个值,如:while x>=0

2、逻辑问题演示

True and True

False and True

1 == 1 and 2 == 1

"test" == "test"

1 == 1 or 2 != 1

True and 1 == 1

False and 0 != 0

True or 1 == 1

"test" == "testing"

1 != 0 and 2 == 1

"test" != "testing"

"test" == 1

not (True and False)

not (1 == 1 and 0 != 1)

not (10 == 1 or 1000 == 1000)

not (1 != 10 or 3 == 4)

not ("testing" == "testing" and "Zed" == "Cool Guy")

1 == 1 and (not ("testing" == 1 or 1 == 0))

"chunky" == "bacon" and (not (3 == 4 or 3 == 3))

3 == 3 and (not ("testing" == "testing" or "Python" == "Fun"))

所有的布尔逻辑表达式都可以用下面的简单流程得到结果:

(1)找到相等判断的部分 ( == 或者 != ),将其改写为其最终值 ( True 或 False )。

(2)找到括号里的 and/or ,先算出它们的值。

(3)找到每一个 not ,算出他们反过来的值。

(4)找到剩下的 and/or ,解出它们的值。

(5)等你都做完后,剩下的结果应该就是 True 或者 False 了。

下面我们以20行的逻辑表达式演示一下:

3 != 4 and not ("testing" != "test" or "Python" == "Python")

接下来你将看到这个复杂表达式是如何逐级解为一个单独结果的:

1. > 解出每一个等值判断:

> a. 3 != 4 为 True : True and not ("testing" != "test" or "Python" == "Python") b.

"testing" != "test" 为 True : True and not (True or "Python" == "Python") c.

"Python" == "Python" 为 True : True and not (True or True)

1. > 找到括号中的每一个 and/or :

> a. (True or True) 为 True: True and not (True)

1. 找到每一个 not 并将其逆转:> > a. not (True) 为 False: True and False

1. 找到剩下的 and/or ,解出它们的值:> > a. True and False 为 False

这样我们就解出了它最终的值为 False.

3、理清复杂逻辑的技巧

这里告诉大家一条捷径去判断布尔表达式的值。任何的 and 表达式包含一个 False 结果就是 False ,任何 or 表达式有一个 True 结果就是 True ,你就可以在此处得到结果,但要确保你能处理整个表达式,因为后面这是一个很有用的技能。

在Python基础学习的过程中,布尔表达式可能会让初学者感觉到复杂和困难。但是只要通过更多的相关练习,相信大家可以很快理解布尔表达式并熟练运用它。即便是现在暂时的不理解也没关系,只要你坚持下去了,量变终会影响质变!

标签:False,Python,testing,True,表达式,布尔

来源: https://www.cnblogs.com/nanhe/p/13498924.html

python布尔表达式怎么写_Python基础学习之布尔表达式相关推荐

  1. python exit()什么意思_Python基础学习教程:如何用Python来写pm2.5空气质量查询程序...

    今天就教大家用之前有跟大家分享过的python基础学习教程完成首个MVP,如何用CLI(command-line interface,命令行界面)来执行第一个空气质量查询程序. 知识点 如何进行txt ...

  2. python 去掉双引号_Python基础学习笔记(一)变量与数据类型

    Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如Numpy(数值计算).SciPy(数学.科学与工程计算).Matpl ...

  3. python 声明变量类型_python基础学习03数据类型和变量

    数据类型和变量 1. 数据类型 1.1 整数 Python中不限制整数正负及大小,例如:1,-1,100,-100等等.计算机常用十进制和十六进制表示数值,比如十六进制表示方法是用前缀0x加后缀0-9 ...

  4. python内建函数使用方法_python基础学习笔记(实用的内建函数和经典题目收集)...

    说明:本手记大部分知识点摘自菜鸟教程,包括代码示例.(菜鸟教程的学习资源真心很好用,把它当查询工具书灰常给力) 1. 字符串方法中的string模块 maketrans ( ) 和translate( ...

  5. python你好怎么写_Python基础01之“你好世界”

    简单的'你好世界' 首先要安装好Python Python命令行 假设你已经安装好了Python, 那么在Linux命令行输入: $python 将直接进入python.然后在命令行提示符>&g ...

  6. python open函数编码_Python基础学习——编码与读写

    编码与读写 编码,即将人类语言转换为计算机语言,就是[编码]encode():反之,就是[解码]decode().它们的用法如下图所表示: 将人类语言编码后得到的结果,有一个相同之处,就是最前面都有一 ...

  7. python编程语言符号大全_Python基础学习篇章三分析

    一. Python对象类型 1. 对象是Python最基本的概念,一个Python程序可以分解为模块.语句.表达式.和对象.它们的关系如下:(1)程序由模块构成 (2)模块包含语句 (3)语句包含表达 ...

  8. python组合数据类型选择题_python基础学习——基础数据类型练习题(二)

    一.根据要求查找元组中的指定元素 l1=[11,22,33] l2=[22,33,44] 1)获取元组l1.l2中内容相同的元素 l1=[11,22,33] l2=[22,33,44]for i in ...

  9. python列表功能默写_python基础学习——列表list的功能

    一.list列表,可迭代的对象 LI=[11,22,33,22,44,"age",["文学",[1,2],99,True]] list类,通过list类创建的对 ...

最新文章

  1. 使用OpenCV和Python计算图像的“彩色度”
  2. 智源青年科学家黄高:面向高效推理的深度网络结构设计
  3. 群同态基本定理证明_群论(7): 群代数, 群表示基础
  4. (转)Spring Boot(九):定时任务
  5. python爬虫中文乱码解决方法
  6. 开发板移植mysql_数据库移植到gpu
  7. Linux进阶之给nginx设置登录用户验证
  8. 在vue中实现picker样式_vue mint-ui学习笔记之picker的使用
  9. [No00002D] “大学生还不如农民工”背后的“身份教育”困境
  10. 啊哈 c语言pdf百度云,啊哈c语言完整版
  11. 使用uni-app开发App简易教程
  12. php 依赖倒置原则,PHP:依赖注入,控制反转,依赖倒置原则
  13. SVN服务器搭建和使用
  14. 计算机网络nic,NIC,什么是NIC,NIC介绍--电子百科词库--科通芯城,IC及其他电子元器件交易型电商平台100%正品保证...
  15. cordova build时出错Minimum supported Gradle version is 5.4.1. Current version is 4.10.3
  16. flyingsaucer转换多个html,使用flying-saucer 实现 html转pdf实现input框select,textarea
  17. QT5+zint库实现条形码条形码(一)
  18. 常见临近点算子的求解
  19. 笨办法学Python(二十)
  20. vb中MSHFlexgrid控件小总结

热门文章

  1. 合肥市noi计算机竞赛,2012年蜀山区青少年信息学(计算机)竞赛通知
  2. a标签改用button标签
  3. Java Spring Boot 3.0.0 RC1 震撼登场!
  4. 【图像处理OpenCV(C++版)】——3.3 几何变换之极坐标变换
  5. android视频通话ndk,Android基于SDK,NDK开发视频通话软件探索
  6. 2020中高级前端面试题合集
  7. 蓝桥杯java组多少分能拿奖_记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结
  8. 互联网个性化推荐与精准营销实战视频教程
  9. java将list转换为字符串_List转换成String字符串三种方式
  10. 鼠标事件mousemove拖动到iframe上监听失效问题