프로그래밍/파이썬(Python)

코드카데미 파이썬 분산 - The Variance(Exam Statics)

&+&& 2017. 4. 11. 06:30

  코드카데미 파이썬(Codecademy Python) 강좌 중에 9번째 시험 통계(Exam Statics) 챕터 중 7번 분산(The Variance)에 대해서 한 번 보죠. 해당 부분은 특이하게 영문 버전과 한글 버전이 살짝 다릅니다. 한글 버전이 오류가 있는 관계로 영문 버전 기준으로 분산을 계산하도록 하겠습니다.(한글 버전은 영문버전과 함수의 구현방식이 약간 다르고 설명대로 구현해도 계속 답이 틀리다고 나옵니다ㅠ.)


  함수는 성적의 합계(grades_sum), 평균(grades_average), 분산(grades_variance) 이렇게 총 3개로 구현합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
grades = [10010090408010085709065908550.5]
 
def grades_sum(grades):
    total = 0
    for grade in grades: 
        total += grade
    return total
    
def grades_average(grades):
    sum_of_grades = grades_sum(grades)
    average = sum_of_grades / float(len(grades))
    return average
 
def grades_variance(scores):
    average = grades_average(scores)
    variance = 0
    for score in scores:
        variance += (average - score) ** 2
    return variance / len(scores)
 
print grades_variance(grades)
cs


  - 3-7열 : 성적의 리스트인 grades의 전체 합계 계산. 반환값 total

  - 9-12열 : grades_sum의 total값을 받아 grades의 전체 평균 계산

  - 14-19열 : grades_average의 평균값 average를 받아 전체 성적의 분산을 계산

  - 21열 : 성적의 분산값을 구하는 함수 grades_variance 호출 및 출력

  ※ 11열 : float()는 필요없는 부분으로 생각되는데 없으면 에러가 발생합니다.