我一直收到错误:TypeError:'float'对象在此段代码中无法调用。
for data in list:
latitude = float(data[1])
longitude = float(data[2])
distance = ((6371*math.pi)/180)(math.sqrt((-35.276159-latitude)**2+(149.120893-longitude)**2))
print(distance)
当我打印纬度和经度的类型时,它们都返回'浮动'。对我可能做错的任何帮助都会非常感激!
答案 0 :(得分:3)
您正在迭代序列并正在调用item
data
;这让你感到困惑,data
是序列。
你在括号中的两个表达式之间也缺少一个运算符:distance = ((6371 * math.pi) / 180)
在这里缺少运算符 (math.sqrt((-35.276159 - latitude) ** 2 + (149.120893 - longitude) ** 2))
- 这对应于部分评估后的(float)(float)
,这是试图调用浮动。
for item in seq:
latitude = float(item)
longitude = float(item)
distance = ((6371 * math.pi) / 180)**2 + (math.sqrt((-35.276159 - latitude) ** 2 + (149.120893 - longitude) ** 2))
print(distance)
请不要使用python关键字(list
)来命名变量。