基本或差异

2024-04-26 02:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一些测试,当我尝试:

len(pin) == (4 or 6) 

一半的测试失败了

但是:

(len(pin) == 4 or len(pin) == 6)

所有的测试都通过了

我无法理解这两者之间的区别。 pin通常是一个类似123412345的数字


Tags: orlenpin数字区别
1条回答
网友
1楼 · 发布于 2024-04-26 02:56:32

这是因为根据优先级规则,在第一个条件中首先计算右侧表达式,即

len(pin) == (4 or 6)

这里,首先计算(4 or 6),并返回4(在某些语言中为true)。现在,只有在length实际为4的情况下才返回true

您的第二个条件按预期工作,因为它分别将长度与4和6进行比较,然后对这两个布尔值应用or

相关问题 更多 >