a = 10
b = 20
c = 30
if(a > b,c):
print('In if')
else:
print('In else')
有人发布了上面的代码,并询问为什么上面的代码总是导致 'In if',无论 b 和 c 的值如何都被打印。
虽然这看起来像是糟糕的编程风格,但我很好奇 ,
运算符在做什么。
到目前为止,我还没有能够在文档中找到答案。谁能解释一下?
最佳答案
a > b, c
是元组 ((a > b), c)
。
因此,如果 a=10, b=20, c=30
,那么我们将询问元组 (False, 30)
是否为 truish .所有非空元组都是真实的,因此这将始终通过条件触发相同的路径。
https://stackoverflow.com/questions/65433625/