0 or 1,1 and 0


最近小編遇到很頭疼的的一件事

就是以下這幾道運算題 ,以下結果是小編經過大量的運算得出的

一.或運算

1.0 or 1

  結果為:1

2.1 or 0

  結果為:1

3.1 or 2

  結果為:1

4.2 or 1

  結果為:2

5.0 or []

  結果為:[]

6.[] or 0

  結果為:0

二.與運算

1.0 and 1

  結果為:0

2.1 and 0

  結果為:0

3.1 and 2

  結果為:2

4.2 and 1

  結果為:1

5.' ' and 0

  結果為:' '

6.0 and ' ' 

  結果為:0

三.混合運算

1.1 < ( 2 == 2)

  結果為:False   這道題就不用多說了,2==2為True,True換成數字為1,1<1明顯為Flase

2.1 < 2 == 2

  結果為:True 

   按照正常思路,比較運算優先級比等於優先級高,所以這道題先算1 < 2 為True,True為1,1不等於2,所以為Flase

  但是,答案明明就是True,實際上這道題是這樣算的:

  1 < 2 and 2 == 2  這樣一轉變,是不是立馬就明白了 

  因為邏輯運算優先級低,所以最后運算為:True and True

總結:

  1.or:或運算的兩邊,有真則真;若都為真,則選前者;若都為假,則選后者;

  2.and:與運算的兩邊,有假則假;若都為真,則選后者;若都為假,則選前者;

  3.混合運算時,應當考慮運算符優先級的問題,當有括號時,先算括號內的運算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM