我在Python中使用while循環來執行一個操作。然而,當我期望它(當團隊變空時)循環不會結束。這是代碼:不明白爲什麼循環不停止
while teams:
if scores[0]<scores[1]:
losers.append(teams[0])
teams.remove(teams[0])
teams.remove(teams[0])
scores.remove(scores[0])
scores.remove(scores[0])
if scores[0]>scores[1]:
losers.append(teams[1])
teams.remove(teams[0])
teams.remove(teams[0])
scores.remove(scores[0])
scores.remove(scores[0])
return losers
雖然測試的代碼,我把打印語句,發現失敗者陣列具有所期望的結果,但循環將繼續後,我希望它停下來,檢查得分[0]當我已經刪除循環的最後一個迭代的分數[0]。爲什麼我的循環沒有結束?
也許有兩個temas相等的分數? – ppperry
如果語句計算結果爲true,那麼等於分數將不會。你應該包括'if score [0] == scores [1]''的特例。你在調試嗎?你真的檢查過「分數」真的*是空的嗎? – BHustus
這是比較NBA的比分,所以比賽連續加班,直到一支球隊獲勝。我在循環開始時打印隊伍長度時注意到的一件事是,當隊伍長度爲12,6或0時,它不打印任何東西。(6的倍數)我弄不清楚爲什麼這是,但也許這可能有助於調試? –