私はクラスのための "go fish"と呼ばれる簡単なプログラムを作っています。正しい出力でもリストのインデックスが範囲外ですか?
player1Hand = [2, 4, 6, 8, "J", "Q", "K"]
player2Hand = [3, 4, 5, 6, 9, 10, "A"]
player1Guesses = [2, 8, "J", 4, "Q"]
player2Guesses = [6, 9, "A", 5, 3]
基本的に5ターン(合計10出力)あります。プレイヤー1の推測がプレイヤー2の手にある場合、カードが手札にない場合は「ここに私のカード」を、逆の場合は「行く」と出力するはずです。私はそれを仕事に持っていますが、私はインデックスエラーが出ています。
for i in range(20):
if player1Guesses[i] in player2Hand:
print ("HERE'S MY CARD")
else:
print ("GO FISH")
if player2Guesses[i] in player1Hand:
print ("HERE'S MY CARD")
else:
print("GO FISH")
範囲を21と19に変更しようとしましたが、同じエラーと出力が表示されます。
GO FISH
HERE'S MY CARD
GO FISH
GO FISH
GO FISH
GO FISH
HERE'S MY CARD
GO FISH
GO FISH
GO FISH
Traceback (most recent call last):
File "C:\Users\Allen\Dropbox\Computer Science\GoFish.py", line 8, in <module>
if player1Guesses[i] in player2Hand:
IndexError: list index out of range
私は必要な正しい入力を得ていますが、何らかの理由でインデックスが範囲外であると表示されています。プログラムが動作しているのにこのエラーが発生するのはなぜですか?私はコーディングに少し新しくて、もっと簡単で簡単なことがあれば、私のコードで自由に指摘できます!前もって感謝します!
- avbirm
'レンジ(20)'はIndexErrorがスローされます、すべてのあなたのリストの長さが10 – haifzhan
よりも小さいあなたが持っているので、あなたは(5)の範囲を使用する必要がありますわずか5ターン。 – arcticless