wodus0129   3년 전

다음과 같이 작성했더니 

return_su = func(number[i])
IndexError: list index out of range

이렇게 오류가 나옵니다.

어떻게 해결 가능한가요?

dldyddlwl   3년 전

14번 라인에서 number배열의 원소를 삭제하기 때문에 런타임에러가 발생합니다. 의도하신 것은 좋은 생각이지만 삭제해나갈 때 마다,

number배열 자체의 길이가 줄어들면서, i가 커지면 결국엔 배열의 인덱스를 벗어나게 됩니다. 

그렇다면 어떻게 하면 될까요? 우선 for루프에서, 저희가 필요한건 0부터 10000이전까지 돌면서, 셀프넘버가 아닌 것들을 지워나가는 것입니다. 

그렇다면 굳이 number[i]가 아닌 i 그 자체로 써도 되지 않을까요? 그렇다면 number를 삭제하더라도, for 루프에서 인덱스를 벗어날 일이 없으니깐요!

wodus0129   3년 전

감사합니다!!

댓글을 작성하려면 로그인해야 합니다.