求大神解答!!!
4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是:4
not or and 的优先级是不同的:not > 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
为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4
不懂notorand 分别表示什么?{:5_95:} not表示非,not1就是0,or表示或者,and表示和 本帖最后由 悠悠2264 于 2020-5-22 18:20 编辑
not:非,如not 0表示非0,如not 0则返回True(值<=0是false,>0是true)
or:或者,如a == 1 or b==2,表示a=1或b=2则返回true
and:和,如a ==0 and b == 1表示a=0并且b=1则返回true not表示非,比如not 1,就是not True,True取反就是False,结果就是False。
and表示且,如果两边都为True才是True,其他时候都是False
or表示或,只要有一遍是True,结果就是True。
优先级是:
not > and > or 本帖最后由 Twilight6 于 2020-5-22 18:22 编辑
(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
为啥是 4?
短路逻辑:只要 or 前面一个条件为True,就不在判断后面的 True 还是 False
所以 这里一直判断到 4 时候条件为 True 后面的就不在判断了
不懂notorand 分别表示什么?
not 非 简单理解 就是 把 True 和 False 翻转若原条件为 True 加上 not 为 False
or 或 或语句中 只要有一个条件为True 则 or 条件语句就判断为 True
and 和 只有两个都为True 时候 条件才成立 Twilight6 发表于 2020-5-22 18:20
短路逻辑:只要 or 前面一个条件为True,就不在判断后面的 True 还是 False
所以 这里一直判断到 4 时候 ...
这个我晓得 只是不知道为啥会等于4 窝在家里写程序 发表于 2020-5-22 18:23
这个我晓得 只是不知道为啥会等于4
短路逻辑呀 我不是写了嘛 qiuyouzhi 发表于 2020-5-22 18:14
not表示非,比如not 1,就是not True,True取反就是False,结果就是False。
and表示且,如果两边都为True ...
这个我晓得 只是不知道为啥会等于4 窝在家里写程序 发表于 2020-5-22 18:24
这个我晓得 只是不知道为啥会等于4
and如果为True,返回前者(不为布尔值的话)
or如果为True,返回后者(不为布尔值的话)
你自己算一算 qiuyouzhi 发表于 2020-5-22 18:25
and如果为True,返回前者(不为布尔值的话)
or如果为True,返回后者(不为布尔值的话)
你自己算一算
会了嘿嘿
页:
[1]