首页
社区
课程
招聘
未解决 [求助]Python练习题
2021-3-31 20:53 2980

未解决 [求助]Python练习题

2021-3-31 20:53
2980

a=34
a > 10 and print('hello')
a < 10 and print('hello world')

 

a >10 or print('你好')
a <10 or print('你好世界')

 

输出:
hello
你好世界

 

为什么输出是这样的?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
打赏
分享
最新回复 (3)
雪    币: 361
活跃值: (207)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
KwnQ1ng 2021-4-1 10:30
2
0
没什么不对,去了解下or的用法
雪    币: 0
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
磐磐 2021-4-1 21:24
3
0

大家都快乐,幸福,富足,一切都好

最后于 2021-4-2 22:33 被磐磐编辑 ,原因:
雪    币: 807
活跃值: (1868)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老伙计 2021-4-1 23:44
4
1

       and 的特性是只有两侧的条件都是 True,才能确定表达式的值为 True,否则,如果其中有一个是 False,那么,就可以断定表达式的值为 False。
a = 34
对于

a > 10 and print('hello')


        and 左侧 a > 10 的值为 True,整个表达式的值并不能因此而被确定,因为,整个表达式的值,完全取决于右侧的值,还需要继续测试右侧的值,所以,print('hello') 被执行。
对于 

a < 10 and print('hello world')


        and 左侧 a < 10 的值是 False,不用再测试右侧的表达式,已经足以把整个表达式的值锁定在 False 上了,所以,print('hello world') 没有被执行;


         or 的特性是两侧的条件中,只要有一个是 True,整个表达式的值就是 True。
        对于

a > 10 or print('你好')


        or 左侧条件 a > 10 的值是 True,那么,不需要再测试右侧的条件,整个表达式的值已经被锁定为 True,所以,print('你好') 没有被执行。
        对于

a < 10 or print('你好世界')


        or 左侧 a < 10 的值为 False,整个表达式的值并不能因此被确定,还需要继续测试 or 右侧的条件,因为,or 右侧的值可以决定整个表达式的值,所以,print('你好世界') 被执行。

最后于 2021-4-1 23:59 被老伙计编辑 ,原因:
游客
登录 | 注册 方可回帖
返回