1.有列表a=[(34, 56), (23, 45), (22, 12)]和列表b=[(24,45), (45, 11), (56, 42)] 分别存储两组点的坐标,每一个元组存储一个点的x、y坐标。编程计算出a中和b中对应点的 欧式距离。
时间: 2024-02-20 15:58:42 浏览: 48
可以按照如下步骤计算 a 中和 b 中对应点的欧式距离:
1. 导入 math 模块,用于计算平方根。
2. 定义一个函数 euclidean_distance(p1, p2),用于计算两个点 p1 和 p2 之间的欧式距离。
3. 遍历 a 和 b 两个列表,取出对应位置的点 p1 和 p2,分别计算它们之间的欧式距离,并将结果添加到一个列表 distances 中。
4. 返回 distances 列表。
具体实现如下:
```python
import math
a = [(34, 56), (23, 45), (22, 12)]
b = [(24, 45), (45, 11), (56, 42)]
def euclidean_distance(p1, p2):
return math.sqrt((p1[0]-p2[0])**2 + (p1[1]-p2[1])**2)
distances = []
for i in range(len(a)):
distances.append(euclidean_distance(a[i], b[i]))
print(distances)
```
输出结果为:
```
[12.165525060596439, 34.058772731852805, 34.058772731852805]
```
其中,distances 列表中的第 i 个元素表示 a 中第 i 个点和 b 中第 i 个点之间的欧式距离。
阅读全文