python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!
逻辑运算符用于组合多个条件测试语句。假设“我今年18岁”和“我身高2米”这两个语句,前一个语句是真的,后一个语句是假的,因此,“我今年18岁,并且我身高2米”这个语句是假的。其中,“并且”可以认为是逻辑运算符。Python中有三种逻辑运算符,分别是and、or和not。
一、逻辑运算符and
在某些场景下,需要同时检查两个甚至更多的条件。假设某运动队招收运动员的要求是年龄不得低于14周岁,同时身体健康,使用逻辑运算符and来判断是否符合要求:
使用逻辑运算符and连接的两个布尔表达式的值必须都为True,返回值才为True;如果其中一个布尔表达式的值为False或两个布尔表达式的值都为False,那么返回值为False。假设另一个报名的运动员今年13岁,身体健康,那么他不符合要求:
“符合条件”并不会被打印出来。
同样,如果年龄和健康都不符合要求,也不会打印“符合条件”:
二、逻辑运算符or
逻辑运算符or也可以同时检查两个甚至更多的条件,与and不同的是,只要其中一个布尔表达式的值为True,返回值就为True。假设某一项考试分两场,均为60分及格,只要有一场及格,考试就算通过,使用逻辑运算符or来判断是否通过考试:
使用逻辑运算符or连接的两个布尔表达式的值必须都为False,返回值才为False。假设另一个人第一场考试得了59分,第二场考试得了58分,那么他没有通过考试:
三、逻辑运算符not
逻辑运算符not用于对一个布尔表达式取反,即原本返回值为True的表达式,使用not运算符后则返回False;而原本返回值为False的表达式,使用not运算符后则返回True。假设某个游乐园区要求年龄不低于18岁的游客才能进入,使用逻辑运算符not来判断是否可以进入:
逻辑运算符不仅可以单独使用,也可以混合使用。假设为了鼓励小明好好学习,他的家中设置了家庭奖学金,如果每次考试小明的数学成绩达到95分并且语文成绩达到85分,或者数学成绩达到85分并且语文成绩达到90分,那么可以获得家庭奖学金:
在布尔表达式“(math >= 95 and chinese > 85) or (math >= 85 and chinese > 90)”中,使用or运算符连接的两个布尔表达式“math >= 95 and chinese > 85”和“math >= 85 and chinese > 90”只要有一个值为True,返回值就为True。而对于布尔表达式“math >= 95 and chinese > 85”和“math >= 85 and chinese > 90”,都是使用and运算符连接的,故and运算符连接的两个布尔表达式的值必须都为True,返回值才为True。小明的数学成绩是98分,语文成绩是88分,布尔表达式“math >= 95 and chinese > 85”的值为True,“math >= 85 and chinese > 90”的值为False,因此,整个布尔表达式的值为True,打印“小明获得家庭奖学金!”。
关于深度学习的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
在python中,逻辑运算符的优先级是逻辑运算符: or< and <not,所以在你的第一个问题print(1 and 2 or 3 and 4 and 6 and 7 or 8 not 9)中,优先计算not 9后发现8和false没有任何运算符连接,故会报错。此外,对于数字的运算,and取后而or取前,所以根据运算顺序可以得知print( not 1 and 2 or 3 and 4 and 6 and 7 or 8)即为print( False or 7 or 8),得到结果7.
对于数字反复运用逻辑运算符一般是没有意义的。望采纳
‘and’、‘or’和‘not’的优先级是not>and>or
简单解释就是:
and -> A and B -> 表示A和B都必须同时满足才可以
or -> A or B -> 表示A或B,两者满足一个,其中任意一个,就可以了
not A -> 对于A取反 -> A原来是真,则现在是假;A原来是假,则现在是真。
这些,其实和Python关系不大,和你对于基本的,编程语言中的逻辑,不理解有关系。
很多语言,都是这个逻辑的。也本身是符合人类的逻辑的。
感兴趣的,自己去看:
【教程】Python开发入门详解
(此处不给贴地址,请用google搜标题,即可找到地址的)
0 and 1 结果为0;3 and 4结果为4;其实本质都是两者都为1时结果才为1,python中除0之外所有正整数在逻辑运算符的时候都可以理解为1,and需要确定两者是否均为1时才输出结果,否则则输出0,3 and 4中,到4的时候确定了两者均为1,所以输出了结果4。or则是出现1结果则为1,0 or 1为1,1 or 0也为1,3 or 4为3,因为3可以理解为1,已经确定了则输出结果3。not 1为false,not 0为true,not 3为false。这样能够理解了吧。希望能够帮到被这个问题困惑的人。
77、 表达式 3 or 5 的值为__(3) 真或真返回第一个真,真或真返真
78、 表达式 0 or 5 的值为___(5) 假或真返真
79、 表达式 3 and 5 的值为__。(5) 真且真返真,返回第二个真。
#and, or:
# 判断变量是否为0, 是0则为False,非0判断为True,
# and中含0,返回0; 均为非0时,返回后一个值,两个1返回第二个1(两个真返回第二个真),其余返回第一个非0
a=(2 and 0) # 返回0
b=(2 and 1) # 返回1
c=(1 and 2) # 返回2
#1且1返1,1且0返0,0且1返1
print(a)
print(b)
print(c)
# or中, 至少有一个非0时,返回第一个非0,
d=(2 or 0) # 返回2
c=(2 or 1) # 返回2
e=(0 or 1) # 返回1
f=(0 or 0) # 返回0,重点记住,or只有 0 or 0 才返回0,两个0返回第二个0(两个假返回第二假),其余返回第一个非0
#1或1返1,1或0返1,0或1返1
print(d)
print(c)
print(e)
print(f)
Python 中,
or 可以理解为找真值演算,从左到右发现真值就返回真值;
如果两个都是假值,那就返回最后一个假值。
and 可以理解为找假值演算,从左到右发现假值就返回假值;
如果两个都是真值,那就返回最后一个真值。
演算规则简单归纳一下就是:
or :找真值:
如果有一个值为真,or 立刻返回第一个真值;
如果所有值都为假,or 返回最后一个假值。
and :找假值:
如果有一个值为假,and 立刻返回第一个假值;
如果所有值都为真,and 返回最后一个真值。
(or或假,假装疑惑,A和B同时是假时才是假。and且行且珍惜,A且B为真时才是真。)(or或假,两个为假时,返回最后一个假值。and且行且珍惜,两个为真时,返回最后一个真值。都是返回最后一个)(假或假才是假,真且真才是真)
(0代表假False,其他数字代表真True)
python中有哪些保留字?
python的保留字如下:其中保留字分别有这些:False、None、True、and、as、assert、async、await、break、class、continue、def、del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、nonlocal、not、or、pass、raise、return、try、while、with、yield。在 Python 中,定义一个...
python表达式中同时有and和or时如何读
python表达式中同时有and和or时读如下:1、在Python表达式中同时有and和or时,需要注意其运算优先级和运算顺序。Python中逻辑运算符的优先级从高到低依次为not、and、or,因此在同时使用and和or时,应该先计算and运算,再计算or运算。2、在表达式中,and运算符优先级高于or运算符。当表达式中同时存在and...
Python要知道的关键词学生来看
2、布尔关键字 False: 表示真与False相反 True: 表示假与True相反 3.控制流程关键字 ifelifelse:条件判断 for infor in else continue:继续循环 break:跳出循环while:循环结构 4、逻辑判断关键字 and:逻辑与 or:逻辑或 not;逻辑非 in:判断某个变量是否在序列中 notin is:判断是否是同一个对象 5...
python括号区别
在Python语言中最常见的括号有三种,分别是:小括号()、中括号[]、花括号{};其作用也不相同,分别用来代表不同的Python基本内置数据类型。1、Python中的小括号():代表tuple元祖数据类型,元祖是一种不可变序列。创建方法很简单,大多数时候都是小括号括起来的。2、Python中的中括号[]:代表list...
我想问下python中 逻辑与:“&”和“and”的区别
1、“&”和“and”有本质区别,属于不同类型的运行符号。& 是位运算;and 是逻辑运算。2、首先是&:该运输符属于字符串的连接运算符,例如,“w“&”c“结果为字符串”wc“。3、and属于逻辑运算符,表示逻辑与运算,其规则是有假取假,全真为真。例如,true and false结果为false,true and ...
python中运算符的优先级
python中运算符的优先级从低到高分别为or、and、not。Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发...
python中大于等于怎么表示
2、!=(不等于,python2中不等于可以是 <>)。3、 > 、< 、>= 、<=(大于、小于、大于等于、小于等于)。请看代码:三、逻辑运算:1、and (并且)。2、or(或者)。3、not (非,不是的意思)。四、赋值运算:=、 +=、 -= 、*= 、\/=、 %= 、**=、 \/\/=。python语音介绍:pyth...
Python逻辑运算符and?
and和or表达式的值是第一个能决定整个表达式是否成立的那个操作数的值。举例:3 and 4:第一个操作数3为真,但不能保证and成立,还要看第二个操作数4;4也为真,此时可以确定and一定成立,因此这个表达式的值是4。'hello' and [] and 'world':第一个操作数'hello'为真,但不能保证and成立;...
python pandas dataframe 中 & 和 and 有什么区别?
答: 在Python当中,&一般表示位操作,即按位与,而and一般表示逻辑操作。逻辑操作一般都放在if或者循环语句之后。那么在数组索引里面使用and,倒是没有用过,是不是因为这个问题呢,欢迎和你探讨,希望能够帮助到你。
python中常见的运算符有哪些?
and:与运算,如果a 为False,a and b返回False 否则返回y的计算值 or:或运算,如果a非0,返回a的值,否则返回b的值 not:非运算,如果a为True,返回False,如果a为False,返回True | 成员运算符 | in:如果在指定的序列中找到值返回True,否则返回False not in:如果在指定的序列中找到值返回True,...
荤青安必: 'and'、'or'和'not'的优先级是not>and>or首先,'and'、'or'和'not'的优先级是not>and>or. and :x and y 返回的结果是决定表达式结果的值.如果 x 为真,则 y 决定结果,返回 y ;如果 x 为假,x 决定了结果为假,返回 x. or :...
肇庆市15598056112: 初学python 不明白 and or not怎么用 - ?
荤青安必: and 就是所有都必须要 OR,就是其中一个要就可以了,NOT 就是不能是
肇庆市15598056112: Python3逻辑运算符not? - ?
荤青安必: 在python中,逻辑运算符的优先级是逻辑运算符: or< and <not,所以在你的第一个问题print(1 and 2 or 3 and 4 and 6 and 7 or 8 not 9)中,优先计算not 9后发现8和false没有任何运算符连接,故会报错.此外,对于数字的运算,and取后而or取前,所以根据运算顺序可以得知print( not 1 and 2 or 3 and 4 and 6 and 7 or 8)即为print( False or 7 or 8),得到结果7. 对于数字反复运用逻辑运算符一般是没有意义的.望采纳
肇庆市15598056112: Python 里 and,or 的计算规则是怎样的 - ?
荤青安必: 这个和c语言的&&和||的计算规则是一样的,and的优先级比or要高,所以先计算and然后计算or.and 只要有一个假则为假,or是只要有一个为真则为真.python里面和其它语言的区别是如果集合类list ,set, tuple,dict 如果没有元素也为假,str 类型如果是空字符串也为加.整数如果是0为假,其它情况为真
肇庆市15598056112: python中的 and or 问题 - ?
荤青安必: and在左右两边不全为True时返回False.当左边为True时会继续计算右边,当右边也为True时返回右边的值. or在左右两边全为False时返回False.当左边为True时会返回左边的值,否则当右边为True时返回右边的值.
肇庆市15598056112: 是python的题目,帮我算一下,谢谢,不知道是怎么算的,and和or又是什么作用 - ?
荤青安必: 不加括号的情况下 not的优先级大于and, and的优先级大于 or 所以上式等价于 (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) = 0 or 0 or 4 or 6 or 9 = 4 and运算时,如果第一个为False返回第一个值,否则返回第二个值 or 运算时,如果第一个为False返回第二个值,否则返回第一个值 所以 0 and 1 = 0 3 and 4 = 4 5 and 6 = 6 7 and 8 and 9 = 9 0 or 4 or 6 or 9 = 4
肇庆市15598056112: python中常见的运算符有哪些分类? - ?
荤青安必: 算数运算符 比较(关系)运算符 逻辑运算符 赋值运算符 成员运算符 运算符的优先级
肇庆市15598056112: Python数据类型怎么学习 - ?
荤青安必: 1.数字(Number):其中又分为int(整数)、float(浮点数)、bool(布尔)、complex(复数). 2.字符串(String):需要用''或者""包裹起来.如果需要保留内部的'或”,需要使用\进行转义. 3.列表(List):列表的格式是写在方括...
肇庆市15598056112: python 问题求助 - ?
荤青安必: 我曾经做过Python方面的PPT教程,我下面写的希望对你有帮助... Python中下面的值作为布尔表达式时,看做假(false):False None 0 “” '' () [] {} 其他一切看做真,包括Ture逻辑操作运算符: and(与[&&]) or(或[||]) not(非[!]...