11 % 14 == 11 and ( 6 * 3 // 4 > 4 or 20 // 6 != 3)
当我在Python中键入它时,它告诉我该语句是错误的。
if 11 % 14 == 11 and ( 6 * 3 // 4 > 4 or 20 // 6 != 3):
print("True")
else:
print("False")
从我的理解11%14 == 11是真的,6 * 3 = 18 // 4是4所以这是真的,20 // 6将是3所以这也应该是真的吗?有人能向我解释这是假的吗?
答案 0 :(得分:5)
你错过了两个关键项目:
6 * 3 // 4 > 4
是假:4不大于4.同样,
20 // 6 != 3
是假:3等于3.
下次,你可以进入翻译模式并使用分而治之的方法自行查找:
>>> 11 % 14 == 11 and ( 6 * 3 // 4 > 4 or 20 // 6 != 3)
False
>>> 11 % 14 == 11
True
>>> 6 * 3 // 4 > 4
False
>>> 20 // 6 != 3
False
>>> 6 * 3 // 4
4
>>> 20 // 6
3
>>>
最后,请注意您的 if 语句是多余的。你可以简单地使用
print 11 % 14 == 11 and ( 6 * 3 // 4 > 4 or 20 // 6 != 3)
结果值是可打印的布尔常量。
答案 1 :(得分:3)
此处11 % 14 == 11
为True
接下来,6 * 3 // 4 > 4
为False
而20 // 6 != 3
是False
因此,True and (False or False)
将为False
答案 2 :(得分:1)