2016-10-28 7 views
-2

파일의 모든 값의 평균을 반환해야합니다. 이것이 내가 가진 것입니다. 누구든지 나를 도와 줄 수 있습니까? 고맙습니다!파이썬에서 파일의 평균을 반환하는 방법은 무엇입니까?

def averageValueOnFile(fileName): 
     with open('fileName.txt') as f: 
      sum=0 
      count=0 
      for line in f: 
       count+=1 
       sum+=float(line.split(":")[1]) 
      average=sum/count 
     print (average) 

    IndexError: list index out of range 
+2

입력 파일은 어떻게 생겼습니까? –

+0

그리고 파이썬은 오류가있는 행을 포함하여 전체 스택 프레임을 제공하지 못했습니까? 이상하다. 보통 그렇습니다. – tdelaney

+0

끝에 빈 줄이있는 파일을 생각해보십시오 ....'line.split (":")'두 항목을주지 않을 것입니다. 분할 전에 빈 줄을 확인하고 싶을 수 있습니다. – tdelaney

답변

2

파일의 내용은 무엇입니까? 파일에서 라인의

하나 이상은되어 있지 않습니다 또는

겠습니까 sum+=float(line.split(":")[0]) 작업 대신 콜론 뒤에 단순히 비어?

+0

감사합니다. – hawkstudent

0

파일의 줄 중 하나가 예상대로 포맷되지 않았기 때문에 오류가 발생할 가능성이 높습니다. split 메서드는 요소가 두 개 미만인 목록을 반환합니다.

관련 문제