python 邏輯運算符and兩邊的語句的順序問題

CSDN問答 2022-01-07 05:16:26 阅读数:735

python

最近用python寫了一個堆排序的代碼,在向下調整的過程中發現了一個問題

if語句中形如上圖它的結果是正確的

 

但是,如果將and兩邊的語句變換一下比特置,結果顯示超出列錶索引比特置。

我想問一下,and 的兩邊的判斷對於語句順序有關嗎?

這句代碼是堆向下調整過程中,首先判斷兩個孩子節點哪個大,然後大的子節點取代根結點。




采納答案:

跟順序有關系,and左邊如果為假,就不再計算右邊的錶達式,即使右邊的錶達式可能會拋异常。如果左邊的錶達式為真才會計算右邊的錶達式



其他答案2:

從安全編碼的角度,一定要先判斷j+1的合法性,否則li訪問越界

版权声明:本文为[CSDN問答]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201070516257021.html