我正在尝试为python中的赋值编写一些代码。我在任何地方都找不到的是什么是错误的以及为什么它不会运行。它是感知和移动机器人定位功能。我不明白为什么这条线不起作用。
q.append(p[i] * (hit * sensor_right + (1 - hit) * (1-sensor_right)))
- hit = 两个字符串之间的比较。评估结果为真或假,即 1 或 0,对吗?
- sensor_right = 0.7
Traceback (most recent call last):
File "vm_main.py", line 26, in <module> import main
File "/tmp/sbdxfjuois/main.py", line 50, in <module> p = sense(p, measurements[k])
File "/tmp/sbdxfjuois/main.py", line 34, in sense q.append(p[i] * (hit * sensor_right + (1 - hit) * (1-sensor_right)))
TypeError: can't multiply sequence by non-int of type 'float'
你能对我在这里发布的内容提出任何建议吗?
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