8행의 "for i in b[0:26]"는 b에 있는 26개의 항목을 순회한다는 뜻입니다.
9행의 "b[i]"는 리스트b에서 인덱스가 i인 항목을 의미합니다.
그래서 단어가 많이 길다면 b[i]가 25를 초과하는 경우가 생기기 때문에 런타임 에러가 발생하며, 발생하지않아도 틀린 결과를 획득하게 됩니다.
이 문제를 해결하려면 9행처럼 "b[i]"를 출력하는 것이 아니라 그냥 i를 출력하면 됩니다.
그러나 9행을 변경하지 않고 8행의 "for i b[0:26]"을 for i in range(0,26)으로 변경하는 방법도 있습니다. 이렇게 하면 0번부터 25번까지를 순회하며 b의 모든 항목이 순서대로 출력됩니다.
아래에 제공된 코드를 참고하세요. 두 방법 중 하나를 선택하시면 됩니다.
(외국인이라 한국어가 다소 어색할수도 있습니다. 만약 문법이 틀렸거나 심하게 어색한부분 있으면 지적해주세요)
jungri823 4년 전
이렇게 했을 경우 런타임 에러가 나는데 이유가 뭐죠 ??