ValueError是什么意思?

时间:2015-04-06 08:24:41

标签: python

我试图计算点集合和线段之间的最短距离。一切顺利,直到使用来自两组数组的值计算距离,一组用于x距离,一组用于y距离。

计算距离的行是:

d = np.sqrt( dx**2 + dy**2 ).

它告诉我::

ValueError: operands could not be broadcast together with shapes (3312,) (0,) 

我之前使用过该脚本的另一组值,它完美无缺。但现在它已不复存在了。我试着找到错误信息的含义但到目前为止还没有成功。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

  

ValueError异常    当内置操作或函数接收到具有正确类型但值不合适的参数时引发

演示:

>>> int("1")
1
>>> int("h")         # valueError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'h'

答案 1 :(得分:2)

您的问题似乎是,dx和dy是两个不同长度的数组,dx的长度为3312,dy的长度为0。 更好地检查dy是否设置正确。

如果我用两个长度为6和0的数组重现你的问题,我会得到同样的错误,如果我使用两个长度相同的数组,那就可以了。