문제
다음 파이썬(Python) 코드 중 1부터 매개변수로 전달받은 n까지 자연수의 합을 구해 반환하는 함수로 가장 알맞은 것은?
① def sum_func(n): return sum(range(1, n + 1)) ② def sum_func(n): result = 0 for i in range(n): result += i return result ③ def sum_func(n): return sum(n) ④ def sum_func(n): return sum(range(1, n))
정답
1번
해설
정답: 1. range(1, n + 1)은 1부터 n까지의 정수를 생성하므로 자연수의 합을 정확히 구할 수 있다.
오답 풀이
- 1번: 1부터 n까지의 합을 정확히 구한다.
- 2번:
range(n)은 0부터 n-1까지이므로 n이 포함되지 않는다. - 3번: 정수 n은 반복 가능한 객체가 아니므로 오류가 발생한다.
- 4번:
range(1, n)은 n을 포함하지 않는다.
보충 개념
파이썬 range(a, b)는 a 이상 b 미만의 정수를 생성한다.