코드카데미 파이썬(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 = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.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()는 필요없는 부분으로 생각되는데 없으면 에러가 발생합니다.
'프로그래밍 > 파이썬(Python)' 카테고리의 다른 글
마르코프 체인을 활용한 문장 생성 - KPOP 버전 (0) | 2017.07.02 |
---|---|
마르코프 체인을 활용한 문장 생성 (0) | 2017.06.27 |
코드카데미 파이썬(Codecademy Python) 강좌 - 중앙값(median) (0) | 2017.03.30 |
코드카데미 파이썬(Codecademy Python) 강좌 - 중복 요소 제거하기(remove_duplicates) (0) | 2017.03.29 |
코드카데미 파이썬(Codecademy Python) 강좌 – 곱셈(product) (0) | 2017.03.28 |