我正在尝试获取一个包含纬度/经度的二维位置列表,并且只从列表中获取坐标(在第3列和第4列中)发送到另一个函数,以便可以计算距离。。。但我完全被难住了。 我所拥有的是。。。在
从OP编辑来显示我在哪里。。。
x1=-18.00#这些值不变
y1=118.00
x2=浮动(origList[3])
y2=浮动(origList[4])
n=长度(origList)
应用程序列表=[]
for i in range (n-1):
appList.append(findDistance(x1, y1, x2, y2))
print appList
但现在我得到了…文件“F:\Storage\t\u 2\coord_查找.py“,第27行,主要,x2=数学工厂(奥利格利斯特[3]) 类型错误:需要浮点
所以问题在于如何转换成float???在
那么到目前为止,我对findInstance函数的所有了解(我只是刚刚启动它,只想测试参数是否正确传递)。。。 定义查找状态(x1、y1、x2、y2): cosX=数学工厂(y1-y2) a=90-x2 b=90-x1
这是我更新的代码,它给了我这个。。。在
德尔克斯=数学工厂(y1-y2)
TypeError:不支持-:“float”和“list”的操作数类型
我把它贴出来是因为我显然没有给出一个足够清楚的解释,并且从那以后做了一些改变。如你所见,我想从cols3,4得到x2,y2。 尝试了x2=float(origList[3]),y2=float(origList[4]),但这也不起作用-I get“float()参数必须是字符串或数字”。 在尝试将值提取为浮点数之前,是否需要以某种方式拆分列表??在
^{pr2}$
显然,你的列表包含的是对字符串,而不是数字。在
在Python中,这种转换从来不是自动的,因此您可能需要将代码更改为:
像这样的错误
^{pr2}$很明显,传递给float的既不是数字也不是字符串。在
只需在有问题的语句之前添加一个
print repr(stnList[3])
,然后检查传递的内容。在您也可以使用python调试器来查找问题所在,例如查看这个pdb session example的短视频
您的
origList[0:]
计算结果为origList
。尝试origList[0]
。在range(0,n-1)
只增加到n-2,而且不需要指定起始值0,因为这是默认值。使用range(n)
。在你说坐标在第3列和第4列。看起来您对编程语言中的索引有点陌生,所以我希望我不会无端提醒您可能正在查找列表元素2和3,如果您的意思是这是第3和第4列的话。在
另外,
print
应该在循环之外。在相关问题 更多 >
编程相关推荐