gpt4 book ai didi

python - 从Python中的文本文件获取坐标

转载 作者:行者123 更新时间:2023-12-01 04:27:26 24 4
gpt4 key购买 nike

我必须计算由文本文件中的坐标定义的行的长度。

在文本文件中坐标是这样写的:

1; (5,2); (3,3); (3,2); (1,0)

2; (4,5); (5,7); (6,8); (8,9)

3; (1,1); (1,2); (1,3)

4; (2,1); (3,2);

还有几行。

我不知道该怎么做。我首先尝试删除 id(第一个数字)并删除括号。删除 id 确实有效,但是括号的 .strip 绝对没有任何作用。

with open('polyline.txt','r') as f:
data = f.readlines()
for line in data:
data=line.strip("()")
data=line[3:]
print data

最佳答案

>>> from math import pow, sqrt

>>> def distance(c1, c2):
... return sqrt(pow(c2[0] - c1[0], 2) + pow(c2[1] - c1[1], 2))

>>> distance((3, 1), (3, 2))
1.0

--

>>> import re

>>> with open('polyline.txt','r') as f:
... for line in f:
... coordinates = re.findall(r'\((\d+),(\d+)\)', line)
... coordinates = map(lambda c: map(int, c), coordinates)
... print coordinates
... for i, coordinate in enumerate(coordinates[:-1]):
... print distance(coordinate, coordinates[i + 1]),
... print

[[5, 2], [3, 3], [3, 2], [1, 0]]
2.2360679775 1.0 2.82842712475

[[4, 5], [5, 7], [6, 8], [8, 9]]
2.2360679775 1.41421356237 2.2360679775

[[1, 1], [1, 2], [1, 3]]
1.0 1.0

[[2, 1], [3, 2]]
1.41421356237

请注意,这给出了每个列表中相邻坐标之间的距离。

关于python - 从Python中的文本文件获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com