-1

希望创建一个函数来读取具有纬度和经度的动物名称文件,然后它将返回设定区域内的#animals,但是我不断收到索引错误,我不知道为什么,我还是 Python 新手只需要一点帮助:')

def LocationCount(FileName, Distance, Lat2, Lon2):     
    List =[]                                                    
    File = open(FileName, "r")                                  
    for line in File:                                          
            List.append(LineToList(line))                       
    File.close()                                                

    List2 =[]
    ListCount = 0
    while ListCount <= len(List):
        if CalculateDistance(List[ListCount][1], List[ListCount][2], Lat2, Lon2) <= Distance:
            List2.append(line)
        ListCount += 1
    return(List2)

S = LocationCount("Mammal.txt", 10, 54.988056, -1.619444) 
print (len(List2))
4

1 回答 1

1

while ListCount <= len(List):

改成这样,

while ListCount < len(List): 列表为 0 索引。

此外,您将值存储在 S 中并尝试打印在此范围内未定义的 list2。

S = LocationCount("Mammal.txt", 10, 54.988056, -1.619444) print (len(List2))

将其替换为,

S = LocationCount("Mammal.txt", 10, 54.988056, -1.619444) print len(S)

于 2017-03-13T22:34:17.993 回答