center()
함수를 정의하라. 이 함수는 시퀀스를 하나 입력받아, 그 시퀀스의 가운데 요소를 반환한다. 단, 이 함수에는 홀수 개의 요소를 가 지는 시퀀스만을 입력하기로 약속한다. 다음은 함수를 호출한 예이다.
>>> center(['가', '나', '다', '라', '마'])
'다'
>>> center([2, 4, 8, 16, 32])
8
코드
def center(sequence):
"""시퀀스를 하나 입력받아, 그 시퀀스의 가운데 요소를 반환한다.
단, 이 함수에는 홀수 개의 요소를 가 지는 시퀀스만을 입력하기로 약속한다."""
return sequence[len(sequence) // 2]
# 함수의 동작 확인
print(center(['가', '나', '다', '라', '마']))
print(center([2, 4, 8, 16, 32]))
실행 결과
'다'
8
sequence[5]
와 같이 인덱싱 연산을 이용한다.len(sequence)
로 시퀀스의 길이를 구한 다음 절반으로 나눈다./
를 사용하면, 인덱싱 연산에서 오류가 발생한다. /
를 사용하면 결과가 3.0
과 같이 실수로 반환되는데, 인덱싱 연산에는 정수만 사용할 수 있기 때문이다. 따라서 결과를 정수로 반환하는 몫 연산자 //
를 사용하거나, /
연산자로 구한 결과를 int()
를 이용해 정수로 변환해야 한다.