[파이썬] N번째 항목 N제곱 하기
조회수 918회
def abc(array, N):
if array[N] in array:
return array[N-1]**N
else:
return (-1)
print(abc((1,2,3,4,5,6),3))
5까지는 결과가 잘 나오는데 6부터 결과가 이상해지는 이유가 뭘까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
(1,2,3,4,5,6) 길이는 6입니다. 그리고 0부터 시작합니다.
즉
a = (1,2,3,4,5,6)
라고 할 때a[0]
이 1 입니다.0 부터 5 까지 해서 접근이 가능한데 6을 넣으면 접근할 수 있는 range 를 넘으므로 에러가 발생합니다.
-
아래와 같은 형식으로 합니다.
즉 return -1 을 except 에 넣으면 됩니다.
try: a = (1,2,3,4,5,6) ... except IndexError: # 인덱스가 벗어나는 경우 처리
댓글 입력