def euclidean_distance(a, b): x1=a[0], y1=a[1] x2=b[0], y2=b[1] return math.sqrt((x1 - x2)**2 + (y1 - y2)**2) 报错TypeError: 'int' object is not subscriptable
时间: 2023-10-30 15:06:07 浏览: 95
Astar.rar_AStar_Astar路径规划_a*简单程序
这个错误是因为你在函数中将变量 a 和 b 当作列表或元组来处理,但是它们实际上是整数。当你尝试使用索引操作符([])来获取元素时,会出现 "TypeError: 'int' object is not subscriptable" 错误。
要解决这个问题,你可以直接将 a 和 b 视为坐标的整数值,而不是列表或元组。这样,你就不需要使用索引操作符来获取 x 和 y 值。修改代码如下:
```python
import math
def euclidean_distance(a, b):
x1, y1 = a
x2, y2 = b
return math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
```
现在,你可以将两个坐标作为参数传递给函数 euclidean_distance,并获得它们之间的欧氏距离,而不会出现 "TypeError: 'int' object is not subscriptable" 错误。
阅读全文