私は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
私はそれを停止することを期待した後、コードをテストしている間、私はprint文に入れ、敗者の列が期待される結果を持っていることがわかった、しかし、ループがスコアをチェックし、続けて[0]:これはコードですループの最後の反復ですでにスコア[0]を削除しています。私のループはなぜ終わらないのですか?
おそらく同じスコアを持つ2つのTEMASがあるのですか? – ppperry
等しいスコアは、文が真と評価される場合もどちらも意味しません。 'if score [0] == score [1]'には特殊なケースを含めるべきです。あなたはデバッグしていますか? 'スコアは本当に*が空であることを実際にチェックしましたか? – BHustus
これはNBAの得点を比較しているため、1チームが勝利するまでゲームは継続的に継続されます。私がループの始めにチームの長さを印刷したときに私が気づいたことは、チームの長さが12,6、または0のときに何も印刷しなかったことでした。(6の倍数)私は理解できませんでしたこれはなぜですか、これはデバッグに役立つかもしれませんか? –