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

코드카데미 파이썬(Codecademy Python) 강좌 - 중앙값(median)

&+&& 2017. 3. 30. 18:30

  오늘은 코드카데미 파이썬(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)]   # 중앙값을 반환
    
= [4554]                 # 입력 리스트 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의 중앙값을 출력합니다.