如何解决如何从用户输入创建的列表中减去文本文件中的最小坐标集?
我已经将用户输入的坐标选择存储到这样的文本文件中(但每个都在一行中):
['2.00','5.67','7.00'] \n ['2.00','3.00','2.00'] \n ['5.00','5.00','6.00']
假设这些是另一个星球上站点的坐标,而我的地球坐标是 [6.88,9.00,23.09]。我想找到我应该减去哪些坐标以获得最短的旅行距离。我该怎么做?
这是我目前的代码:
from scipy.spatial import distance
earthCo = list(map(float,input("Please enter your coordinates on Earth: ").split())) N = int(input("Enter how many teleportation stations: ")) listofallinput = [] for x in range(0,N):
stationCo = list(map(float,input("Enter station coordinate: ").split()))
for coord in stationCo:
stationCo2d = ["{:.2f}".format(elem) for elem in stationCo]
listofallinput.extend(stationCo2d)
listofallinput.sort()
file = open("planetdatacoords.txt","a+")
file.write(str(stationCo2d))
file.write('\n')
file.close() print(listofallinput[-1])
# Load data from file with open('planetdatacoords.txt') as datafile:
contents = [line.split() for line in datafile]
# Extract the xyz coordiantes coords = [] for i,item in enumerate(contents):
if item[-1] == '[':
coords.append([[float(x) for x in item[5:8]],i+1])
# Show results for i in range(len(coords)):
for j in range(i+1,len(coords)):
dist = distance.euclidean(coords[i][0],coords[j][0])
print('({},{}): {:.2f}'.format(coords[i][1],coords[j][1],dist))
我不明白为什么什么也没有发生,什么也没有显示。有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。