我试图用python编写一些作业代码。我在任何地方都找不到的是哪里出了问题,为什么它不会运行。它是感知和移动机器人的定位功能。我不明白为什么这条线不行。在
q.append(p[i] * (hit * sensor_right + (1 - hit) * (1-sensor_right)))
你能为我在这里贴的东西提些建议吗?在
def sense(p, Z):
q = [ ]
for i in range(len(p)):
hit = (Z == colors[i])
q.append(p[i] * (hit * sensor_right + (1 - hit) * (1-sensor_right)))
s = sum(q)
for i in range(len(q)):
q[i] = q[i]/s
return q
如果其他变量是正确的,它告诉你
p[i]
是一个序列(很可能是一个列表),它不能与浮点相乘。也许p[i]
不是您期望的那样?在在抛出错误的行之前尝试
print
ingp[i]
。在正如其他人所指出的,这个
p
变量显然是一个序列序列。你可以通过在append语句之前。你可能会看到
^{pr2}$如果这是您所期望的,那么您将需要在数组的其他索引上循环。另外,您的
q
是否需要以相同的形状返回?我想你想要更像这样的东西。在请注意,您可能还需要研究numpy数组。在
这里的问题是别人怎么说的。只能将序列乘以整数,而不是浮点。 例如
再次检查p的数据类型,以确保它应该是一个序列。如果这真的是p的值,那么在乘法之前一定要把下面的值转换成int
^{pr2}$相关问题 更多 >
编程相关推荐