【发布时间】:2019-11-28 15:27:37
【问题描述】:
这是错误:对于范围内的 j (len(rotlati)):
TypeError: 'float' 类型的对象没有 len()
我看过很多其他帖子,但我还没有找到解决方案。 我有点困惑。如果您知道这里发生了什么,请发表评论。
代码是:
m = 22
rlati = numpy.zeros(m)
n = 22
rlongi = numpy.zeros(n)
v = numpy.ndarray((2,),float)
for j in range (len(lati)):
LA = lati[j]
rlati[j] = LA - latiref
for i in range (len(longi)):
LO = longi[i]
rlongi[i] = LO - longiref
v[0] = rlati[j]
v[1] = rlongi[i]
vv = numpy.matrix(v)
#transpose of vv as vv.T
vv = vv.T
#proper rotation
vn = R*vv
#define how many decimals
vn = numpy.around(vn, decimals =2)
# rotation of the second column (lati) and third line (longi)
rotlati = float(vn[0])
rotlongi = float(vn[1])
s = 22
latidef = numpy.zeros(s)
p = 22
longidef = numpy.zeros(p)
for j in range (len(rotlati)):
RLA = rotlati[j]
latidef[j] = RLA + latiref
for i in range (len(rotlongi)):
RLO = rotlongi[i]
longidef[i]= RLO + longiref
RLADEF = latidef[j]
RLODEF = longidef[i]
return RLADEF, RLODEF
【问题讨论】:
-
好吧,
rotlati是float,不支持len()。你不明白什么?
标签: python