작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
28
0
for i in range(10):
print(i)
if i < 5:
continue
elif i == 7:
break
여기서 출력값이 01234567이 나왔는데 567이 나오는건 이해하겠는데 0부터 4는 if구문의 continue 때문에 건너뛰어야하는것 아닌가요..? 왜 이렇게 출력이 되는지 궁금해요
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
escho94님, 주신 코드에 있는 continue
문은 반복문의 가장 마지막 부분으로 즉시 건너뛰고 다음 반복을 이어가는 역할을 합니다. 결국 print(i)
는 if
문 위에 있으므로 i
가 0부터 4까지의 값일 때 이미 해당 숫자들이 출력됩니다.
if i < 5: continue
문은 i
가 5보다 작을 경우에는 뒤따르는 코드를 실행하지 않고 다음 반복으로 건너뛰게 됩니다. 따라서 조건문에 의해 print(i)
는 건너뛰지 않고 실행됩니다.
그래서 출력은 0, 1, 2, 3, 4, 5, 6, 7
이 되는 것입니다.
elif i == 7: break
부분에서 i
가 7일 때 반복문이 종료되며 그 전까지 숫자들은 모두 출력됩니다.
Ref. Python 문서: https://docs.python.org/3/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops