오늘은 코드카데미 파이썬(Codecademy Python) 강좌 해설 14번째 시간입니다. 이번 문제는 반복문 챕터의 [연습이 최고를 만든다]에 14번째 문제 [ 중앙값(median) ] 입니다. [연습이 최고를 만듭니다.] 챕터의 마지막 문제입니다.
함수 median를 작성하고, 리스트를 입력값으로 받아 해당 리스트의 중간값을 반환하도록 구현하면 됩니다. 만약 요소의 갯수가 짝수라면 리스트 중간의 두 요소의 평균값을 중간값으로 반환해야 합니다.
완성된 코드를 보시면 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def median(x): # 함수 median을 선언합니다. y = sorted(x) # 입력 리스트 x를 정렬해서 리스트 y에 할당 len_temp = len(x) # 리스트 x의 요소 수를 변수 len_temp에 할당 result = 0 # 결과값 result를 '0'으로 초기화 if len_temp < 2 : # 리스트 x의 요소수가 2보다 작으면 return x[0] # x[0] 반환 elif len_temp % 2 == 0 : # 리스트 x의 요소수가 짝수라면 result = (y[(len_temp/2)] + y[(len_temp/2)-1])/2.0 # 중간 2개 값의 평균값을 계산하고 return result # result 반환 else: # 홀수개의 리스트라면 return y[(len_temp/2)] # 중앙값을 반환 x = [4, 5, 5, 4] # 입력 리스트 x를 초기화 print str(median(x)) # 리스트 x의 중앙값을 구하고 | cs |
- 1열 : 리스트 x를 입력값으로 하는 함수 median을 선언합니다.
- 2열 : 리스트 x를 정렬해서 리스트 y에 할당합니다.
- 3열 : 리스트 x의 길이(요소수)를 변수 len_temp에 할당합니다.
- 4열 : 결과값 result를 '0'으로 초기화합니다.
- 5-6열 : 리스트 x의 길이가 2보다 작으면(0, 1) x[0] 값 반환
- 7-10열 : 리스트 x의 길이가 짝수라면 중간 2개 값의 평균값을 계산하여 반환
- 11-12열 : 리스트 x의 길이가 홀수라면 중앙값을 반환
- 14열 : median함수의 입력값으로 쓰일 리스트 x를 생성하고 적당한 값으로 초기화
- 16열 : median함수를 통해 계산된 리스트 x의 중앙값을 출력합니다.
'프로그래밍 > 파이썬(Python)' 카테고리의 다른 글
마르코프 체인을 활용한 문장 생성 (0) | 2017.06.27 |
---|---|
코드카데미 파이썬 분산 - The Variance(Exam Statics) (0) | 2017.04.11 |
코드카데미 파이썬(Codecademy Python) 강좌 - 중복 요소 제거하기(remove_duplicates) (0) | 2017.03.29 |
코드카데미 파이썬(Codecademy Python) 강좌 – 곱셈(product) (0) | 2017.03.28 |
코드카데미 파이썬(Codecademy Python) 강좌 - 요소 걸러내기(Purify) (0) | 2017.03.27 |