-1
をシャッフルonitama_deck.deckとtemp_deckリストがありますが、私は1〜10の値を含むデッキを使用してプログラムを実行すると、私は次のような出力を得る:私はあまりにも大きかった理由は、私が思っていた最初は指数は、私がOnitama</em>ボードゲーム<em>のPythonのバージョンを書いている、と私は、現在のカードをシャッフルする関数を記述しようとしているアルゴリズム
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
10
10
Traceback (most recent call last):
File "onitama.py", line 33, in <module>
deck.shuffle()
File "onitama.py", line 25, in shuffle
onitama_deck.deck[i] = next_card
IndexError: list assignment index out of range
を、そう私は両方のリストを印刷しようとしました。何らかの理由で、各反復最小の奇数はtemp_deckから除去した後、onitama_deck.deckはtemp_deckに等しく設定されている、このような:
iteration: 1
temp_deck: [2, 3, 4, 5, 6, 7, 8, 9, 10]
deck: [2, 3, 4, 5, 6, 7, 8, 9, 10]
iteration: 2
temp_deck: [2, 4, 5, 6, 7, 8, 9, 10]
deck: [2, 4, 5, 6, 7, 8, 9, 10]
iteration: 3
temp_deck: [2, 4, 6, 7, 8, 9, 10]
deck: [2, 4, 6, 7, 8, 9, 10]
iteration: 4
temp_deck: [2, 4, 6, 8, 9, 10]
deck: [2, 4, 6, 8, 9, 10]
iteration: 5
temp_deck: [2, 4, 6, 8, 10]
deck: [2, 4, 6, 8, 10]
そして私は、範囲エラー外のインデックスを取得します。とにかく私の論理の欠陥を説明できますか?助けてくれてありがとう。
エラーが発生したコードを表示しないと、どうすれば助けてくれると思いますか? – Julien
random.shuffle()を使用するだけでなく、それが意図したものです。 –