-2
我在做一些測試,當我嘗試:基本還是差
len(pin) == (4 or 6)
測試的一半失敗了。
然而,隨着:
(len(pin) == 4 or len(pin) == 6)
所有測試通過。
我無法理解這兩者之間的差別。 引腳通常是一個數字,如1234
或12345
。
我在做一些測試,當我嘗試:基本還是差
len(pin) == (4 or 6)
測試的一半失敗了。
然而,隨着:
(len(pin) == 4 or len(pin) == 6)
所有測試通過。
我無法理解這兩者之間的差別。 引腳通常是一個數字,如1234
或12345
。
這是因爲根據優先級規則,右手側表達首先計算在第一條件即
len(pin) == (4 or 6)
在此,第一(4 or 6)
求值並返回圖4(或真某些語言) 。現在,只有這些情況返回true,其中length
實際上是4.
第二個條件按預期工作,因爲它將長度分別與4和6進行比較,然後對兩個布爾值應用or
。
好吧,現在我明白了。謝謝 –
爲什麼downvote和重複?因爲這個條件'len(pin)==(4或6)'與我的問題所指出的問題是不同的。 –