Python 获取涉及numpy数组的for循环错误
我在做一个游戏,我得到了一个错误:“索引器:只有整数、切片(Python 获取涉及numpy数组的for循环错误,python,numpy,Python,Numpy,我在做一个游戏,我得到了一个错误:“索引器:只有整数、切片(:)、省略号(…)、numpy.newaxis(None)和整数或布尔数组是有效的索引。” 在下面的代码块中,play_game是一个返回字符串的函数,roll_dice是一个随机数组。基本上,我想把所有的字符串放到一个数组中,这样就可以放到total_游戏中。然而,我不能这样做,因为这个错误,我不知道它到底意味着什么。如果有人能澄清错误的含义,或者我如何修复这段代码,我将不胜感激 def game_会话(num_games=50):
:
)、省略号(…
)、numpy.newaxis(None
)和整数或布尔数组是有效的索引。”
在下面的代码块中,play_game是一个返回字符串的函数,roll_dice是一个随机数组。基本上,我想把所有的字符串放到一个数组中,这样就可以放到total_游戏中。然而,我不能这样做,因为这个错误,我不知道它到底意味着什么。如果有人能澄清错误的含义,或者我如何修复这段代码,我将不胜感激
def game_会话(num_games=50):
总博弈=np.0(num博弈)
对于total_游戏中的i:
游戏总数[i]=玩游戏(掷骰子())
返回全场比赛
.zero
创建一个浮点零数组(0.0
)
当您在total_games中对i执行操作时,i
将始终为0.0
,并且显然total_games[0.0]
无法执行,原因是您收到了错误消息
我相信你想要的是范围内的I(len(total_games))
,它将迭代total_games
,即0,1,2,3,…。。零创建一个浮点零数组(0.0
)
当您在total_games
中对i执行操作时,i
将始终为0.0
,并且显然total_games[0.0]
无法执行,原因是您收到了错误消息
我相信你想要的是范围内的I(len(total_games))
,它将迭代total_games
,即0,1,2,3,…。你不能将字符串输入np.float64
类型的np.array
,因为此数据结构只包含一种类型(默认情况下,如本例所示,np.float64
)
您想要的是一个普通Python的列表
,请尝试以下代码:
def game_session(num_games=50):
total_games = []
for _ in range(num_games):
total_games.append(play_game(roll_dice()))
return total_games
的答案也是正确的,您的代码存在多个问题
实际上,你可以(也可能应该)像这样做:
def game_session(num_games=50):
return [play_game(roll_dice()) for _ in range(num_games)]
您不能将字符串输入到np.float64
类型的np.array
,因为此数据结构仅包含一种类型(默认情况下,如本例中所示np.float64
)
您想要的是一个普通Python的列表
,请尝试以下代码:
def game_session(num_games=50):
total_games = []
for _ in range(num_games):
total_games.append(play_game(roll_dice()))
return total_games
的答案也是正确的,您的代码存在多个问题
实际上,你可以(也可能应该)像这样做:
def game_session(num_games=50):
return [play_game(roll_dice()) for _ in range(num_games)]
这样做可以修复它,但现在我得到一个错误:无法将字符串转换为float返回字符串在这种情况下,@Szymon Maszke提供的答案可能更符合您的需要。好的,是的。唯一的问题是它必须是参数num_games的大小,我不能遍历空列表。@Joey Jordan这就是您想要的吗?@SzymonMaszke yea抱歉,我应该澄清一下。我需要它是num_gamesDoing的大小这修复了它,但现在我得到一个错误:无法将字符串转换为float。这是因为play_game()返回字符串在这种情况下,@Szymon Maszke提供的答案可能更符合您的需要。好的,是的。唯一的问题是它必须是参数num_games的大小,我不能遍历空列表。@Joey Jordan这就是您要找的吗?@SzymonMaszke yea抱歉,我应该澄清一下。我需要它是num_games的大小