3 回答
TA贡献4条经验 获得超4个赞
python中,‘a=f'是认定为True的,a事先已经声明为False,所以就很容易理解啦,与运算:两个都是True才是True;or运算一个为True就是True!
如果不懂原理的话,其实很好理解,什么是布尔值?简单来说一真一假,开关开灯亮是true,开关关灯灭为false,串联是与门并联为或门,整个计算机都可以理解为无数个门组成,有与门,或门,与非门,或非门,异或门,通货门,早期计算机,就是通过这些门组成加法器减法器等等,这些门中有包含'开关'、'继电器',然后通过'开关'控制继电器,带动整个计算机运转,这一切都离不开布尔运算,包括二进制与逻辑门,这些说了就说不完了,反正原理不懂就去看看书吧,看一些基本知识再回来理解这些true,false之类的会有新体会!
TA贡献885条经验 获得超1144个赞
or运算,只要有一个条件为 True,则结果为True。
and运算,只要有一个条件为 False,则结果为False。
解析:
a = False
先分解运算顺序,因为 and 和 or 优先级一样,所以从左到右计算:
print ((a and 'a=T') or 'a=F')
1、那么 a and 'a=T' ==> False,这里的 'a=T' 仅为字符串。不参与运算
2、因为 1 中的表达式已经是False,所以要继续计算:False or 'a=F',结果就是 后边表达式的值,所以结果为:a='F'
TA贡献232条经验 获得超302个赞
应该是python的or运算,只要有一个是True,结果就是True。
a = False print a and 'a=T' or 'a=F' # ==> a='F' a and 'a=T'是False,而字符串'a=F'是True。所以应该返回字符串。
添加回答
举报