2017-03-13 12 views
-1

動物の名前のファイルを緯度と経度で読み取る関数を作成すると、設定された範囲内で#animalが返されますが、インデックスエラーとi 'のPythonへイムはまだ新しい、なぜ分からないし、ちょうどヘルプのビットを必要とする:')IndexError:リストのインデックスが範囲外にある場合リスト

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)) 
+0

を交換してください。あなたの関数には、** list2 **の値がありますが、関数の外では使用できません。 – Prune

答えて

1

while ListCount <= len(List):

それがために変更し、

while ListCount < len(List): リストはインデックスさ0です。

また、Sに値を格納していて、この範囲で未定義のlist2を印刷しようとしています。

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

あなたのメインプログラムには、変数** list2の**はありませんが、あることを

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

+0

Omgありがとう!インデックスエラーの問題を修正した、あなたは最高です! しかし、リスト2は定義されていないと言われています: ')コードと一致するもの –

+0

@MichaelCooper:更新された答えをご覧ください。それが助けられたら、答えを受け入れてください。 – Fallen

関連する問題