Python入门到精通(4):关系与逻辑表达式
重点学习编程的关系和逻辑运算,并掌握关系和逻辑运算符的使用方法。
1、 关系表达式
人们在网上挑选商品时,一般会使用电商的商品价格排序功能,将商品按照价格从低到高排列,然后再看商品的评论多少和评论内容来筛选商品,这样就会大概率买到质优价廉的商品。
电商的商品价格排序功能的核心就是比较商品间的价格高低,也就是比较多个数值的大小,并对数值按从小到大或从大到小排序。
比较两个数值的大小,也就是要弄清两个数之间的大小关系。两个数之间的大小主要存在六种关系,分别是大于关系、大于等于关系、小于关系、小于等于关系、等于关系、不等于关系。例如,对于35和26两个数来说:35大于26就是大于关系;26小于35就是小于关系。
2、 关系运算符
Python也支持两个数大小关系的判断,它使用关系运算符来判断两个数的大小关系。关系运算符和要判断的两个操作数构成了关系表达式,操作数可以是数值,也可以是表达式。
下表列出了Python的关系运算符,表中例子假设变量A和B的值不相等,并且变量A的值小于变量B的值。
从表中可以看出,Python的关系运算符和数学中用于判断两数大小的数学符号不完全相同,但它们反应两数的关系是相同的。判断两个操作数是否相等的运算符是“==”,判断两个操作数不相等的运算符是“!=”,判断一个操作数是否大于等于另一个操作数的运算符是“>=”,判断一个操作数是否小于等于另一个操作数的运算符是“<=”。
从关系运算符表中还可以看到,关系表达式的运算结果是True或False。True表示“真”,False表示“假”。“真”和“假”是逻辑值,逻辑值只有成立或不成立两种情况,当成立时逻辑值为“真”,当不成立时逻辑值为“假”。
例如:35大于26显然成立,其逻辑值为“真”,35小于26显然不成立,其逻辑值为“假”。
在Python语言中,逻辑值“真”用英文单词“True”表示,逻辑值“假”用英文单词“False”表示。
当程序需要比较数值大小时,就要用到关系运算符了。关系运算符有“>”,“>=”,“<”,“<=”,“==”,“!=”,同学们对这些运算符还是比较容易理解的。含有关系运算符的表达式称为关系表达式,关系表达式返回的运算结果是逻辑值,逻辑值只有两个值:真和假。
在Python中,逻辑值的“真”用True表示,逻辑值的“假”用False表示。关系表达式一般用于条件的判断,在后面的课程中,我们会讲到条件结构,条件结构就是用于条件判断的。
3、 逻辑表达式
Python语言常用的逻辑运算符有and和or,and和or全部小写,and和or可以连接两个关系表达式,并返回逻辑值。使用逻辑运算符的表达式也称为逻辑表达式。
and是逻辑与运算符,它的运算规则是当and连接的两个关系表达式都为真(True)时,and运算返回的结果是真(True),否则and运算返回的结果是假(False)。
例如:要判断学生的考试成绩是否在90至100范围内,可以使用and逻辑与运算符连接两个关系表达式来完成条件判断。
假如考试成绩用变量score表示,下面的语句可以判断score是否在90至100范围内。
当score的值在90至100范围内时,上面语句的运算结果为真(True)。因为and运算符两边的关系表达式的运算结果都为真(True);当score的值不在90至100范围内时,上面语句的运算结果为假(False)。因为and运算符两边的关系表达式的运算结果都为假(False),或有一个关系表达式的运算结果为假(False)。
or是逻辑或运算符,它的运算规则是:连接的两个关系表达式只要有一个为真(True),or运算返回的结果就是真(True),否则or运算返回的结果是假(False)。
例如语文和数学成绩只要有一门大于等于90分,就可以评上学习小标兵,可以使用or逻辑或运算符连接两个关系表达式来完成条件判断。假如语文成绩用变量a表示,数学成绩用变量b表示,下面的语句可以判断一个学生是否达到学习小标兵资格。
当a的值或b的值有一个大于等于90时,上面语句的运算结果为真(True)。因为or运算符两边的关系表达式只要有一个为真,逻辑表达式返回的运算结果就为真(True)。只有a和b的值都小于90时,逻辑表达式返回的运算结果才为假(False)。
4、 逻辑运算符
下表列出了Python的逻辑运算符。
and运算符对两个操作数进行逻辑与操作。当两个操作数x和y都返回逻辑值时,若x和y都为True,整个逻辑表达式返回True,否则返回False;当两个操作数x和y返回的不全是逻辑值时,如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or运算符对两个操作数进行逻辑或操作。当两个操作数x和y都返回逻辑值时,若x和y都为False,整个逻辑表达式返回False,否则返回True;当两个操作数x和y返回的不全是逻辑值时,如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not运算符只有一个操作数,对该操作数进行取反操作。如果该操作数是True,则整个逻辑表达式返回的结果是False,否则返回True。如果该操作数是非0,返回False,否则返回True。
5、 上机操作
1、在Shell窗口创建变量w和h,变量w的值为15,变量h的值为9。分别连续输入下面的关系表达式,执行并查看结果。
(1)w > h + 20
(2)h > 30
(3)w == h
(4)w != h + 6
(5)35 > 26
(6)w -10 > h
2、在Shell窗口创建变量a、b、c,变量a的值为True,变量b的值为False,变量c的值为20。分别输入下面的逻辑表达式,执行并查看结果。
(1)a and b
(2)a or b
(3)not a
(4)not b
(5)a and c
(6)b and c
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
编程训练营APP
创新在线学习模式,学习编程不再半途而废
安卓手机应用商店
搜索编程训练营下载
Python入门到精通(4):关系与逻辑表达式相关推荐
- python教程吾爱破解_2020年最新python入门到精通教程
2020年最新python入门到精通教程 资源共享吧良心论坛,一直用心为每位会员服务,希望大家能学有所成,今天为大家分享一套2020年最新python入门到精通教程,如果你是0基础想学习python这 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- 《Python入门到精通》文件操作
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 文件操作 1. 打开文件 1.1 ...
- 《Python入门到精通》函数
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 函数 1. 调用函数 2. 参数 ...
- 《Python入门到精通》流程控制语句
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 流程控制语句 1. if条件判断 ...
- 《Python入门到精通》运算符
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python中提供了 7 种运算符 ...
- 《Python入门到精通》Python基础语法
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python基础语法 1. Hel ...
- python编程入门课 视频-Python入门到精通视频教程下载[21课程全]
Python入门到精通视频教程 初级共21节课 python编程入门,针对0基础就python语言基础语法的各个点逐步讲解,由浅入深,通俗易懂,层层深入.提取码: python编程入门,针对0基础就p ...
- arcgis python 教程-ArcGIS Python 入门到精通,视频教程下载
课程介绍: 本课程15章42个视频,基于ArcGIS10.2版本,涵盖了如何使用Python开发ArcGIS自定义工具,具体包括:编辑器的使用安装:列表函数使用:汉字乱码处理:游标(cursor)查询 ...
- Python入门到精通【精品】第一章 - Python概述
Python入门到精通[精品]第一章 - Python概述 1. Python语言历史 2. Python语言特点 3. Python的下载和安装 3.1. Python的下载 3.2. Python ...
最新文章
- NFS挂载的问题svc: failed to register lockdv1 RPC service
- Mongo学习---mongo入门1
- 分享一个多线程实现[冒泡][选择][二分法]排序的例子
- jQuery简单介绍
- (笔试题)和0交换的排序
- json.dumps与json.dump的区别 json.loads与json.load的区别(简洁易懂)
- sip协议的功能及其应用
- WPF解析Fnt字体
- mysql.exe下载_mysql8 windows 下载安装
- Unity微信Android端第三方登陆
- 私有云 公有云 社区云 混合云 专有云
- 2021安徽安全员C证考试多选练习题库
- 李彦宏的搜索技术传奇
- 恭喜惠州市靖元五金塑胶制品设计有限公司与华信环球再次达成合作!
- 德家:你知道吗?朋友圈里的微商传销正在疯狂蔓延
- vba获取html代码数据,VBA获取网页表格数据
- 强大到爆的代码阅读工具understand
- Realtek 2.5G USB网卡RTL8156B-CG支持免驱简介
- 计算机课程调整论文,计算机课程改革论文
- 逻辑覆盖测试用例设计
热门文章
- Java如何使用new来创建对象
- adb:failed to install app.apk Failure [INSTALL_FAILED_VERSION_DOWNGRADE: Package Verification Result
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
- 程序安装--Outlook2016Professional+OraclePlsql
- 基于ssm的志愿者招募网站设计与实现-计算机毕业设计源码+LW文档
- Linux下按照时间段过滤日志
- Adaptive Server Anywhere 数据库配置ODBC数据源
- 路径规划的二次规划方法-知识总结
- clipboard 多次回调
- 2018 美团校招笔试题详解