3 回答
TA贡献1806条经验 获得超8个赞
i
返回一个介于 1 和 4 之间的值,这就是您遇到list assignment index out of range
错误的原因。
你可以只列出一个项目:
items = ["rock","scissors","paper"]
并随机选择它们
players = [items[np.random.randint(1, 4)], items[np.random.randint(1, 4)]]
TA贡献1946条经验 获得超3个赞
i是列表中该元素的值,而不是索引。如果您想更改列表而不是使用索引进行迭代。
for indx, val in enumerate(players):
if val == 1:
players[indx] = 'rock'
elif val == 2:
players[indx] = 'scissors'
elif val == 3:
players[indx] = 'paper'
你也不需要使用像 NumPy 这样的大包来获取一些随机数,因为 python 有一个内置的方法来做到这一点:
import random
choices = [random.randint(0, 2) for _ in range(2)]
print(choices) # [0, 2]
您也可以random充分利用:
import random
CHOICES = ('rock', 'paper', 'scissors')
choice1 = random.choice(CHOICES)
choice2 = random.choice(CHOICES)
print(choice1, choice2) # rock paper
TA贡献1863条经验 获得超2个赞
使用len列表的属性进行迭代
for i in range(len(players)):
if players[i] == 1:
players[i] = 'rock'
elif players[i] == 2:
players[i] = 'scissors'
elif players[i] == 3:
players[i] = 'paper'
添加回答
举报