乱数1〜3を生成する必要があります。私は取得していますエラーがリストが範囲外のエラーを修正しています。 Python
IndexError: list index out of range
私のコードで、次のとおりです。
weaponList = [0,1,2]
weapon2 = weaponList[random.randint(0,3)]
乱数1〜3を生成する必要があります。私は取得していますエラーがリストが範囲外のエラーを修正しています。 Python
IndexError: list index out of range
私のコードで、次のとおりです。
weaponList = [0,1,2]
weapon2 = weaponList[random.randint(0,3)]
weapon2 = weaponList[random.randint(0,2)]
ライン randint(INT1、INT2)すべきは含まれており、その両方の数を呼び出すことができます。
インデックスは0から始まり、weaponList [0]を呼び出すとゼロが得られます。これは0番目のインデックスにあります。
Pythonリストはzero indexedです。あなたの例では:
>>> weaponList = [0,1,2]
>>> weaponList[0]
0
>>> weaponList[1]
1
>>> weaponList[2]
2
>>> weaponList[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
はそのため、あなたはrandom.randint
is inclusiveとして、ゼロと2 random.randint(0,2)
の間の数字を選択する必要があります。
@Tadhg McDonald-Jensenによって提案されたよりクリーンなソリューションが、将来の読者のためにここに追加されました。
weapon2 = random.choice(weaponList)
これはweaponList
からランダムに要素を選択しますので、あなたもインデックスと格闘しなければならない `tの。
'randint'はインクルーシブで、'(0,2) 'が必要です。 –
または 'random.randrange(weaponList))'または単に 'weapon2 = random.choice(weaponList)' –
ありがとう@MorganThrapp、私が探していたthats。 –