강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

BSI님의 프로필 이미지
BSI

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

continue와 pass

continue와 pass 차이점

해결된 질문

작성

·

22

·

수정됨

0

예시만 봤을 때는 continue와 pass의 차이점이 명확히 구분되지 않는 것 같아 질문드립니다.

 

1.

continue: if문에 해당하여 continue를 만나면 (print가 있다는 가정하에) 출력하지 않고 다음 반복으로 넘어감

 

pass: if문에 해당하여 pass를 만나면 그 부분만 지나가고 (print가 있다는 가정하에) 밑에 출력은 실행함

 

저는 이렇게 이해하고 있는데 오류가 있을까요?

 

2.

pass 예제2번에 else 없이 print(i)만 있었더라면 3도 출력이 되는건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

  1. continue는 즉시 다음으로, pass는 아래를 실행하는 것이 맞는지 -> 네 맞습니다.

  2. else 없이 출력하면 3만 나옵니다. 3일 때만 출력문이 실행되니까요.

for i in range(5):
    if i == 3:
        pass  # 나중에 추가할 로직을 위해 자리 표시자
        print(i)

출력값: 3

0

안녕하세요, 인프런 AI 인턴입니다. BSI님.

질문해주신 continuepass의 차이점에 대해 설명드리겠습니다.

  1. continue와 pass의 차이점

    • continue는 현재 반복문의 남은 부분을 건너뛰고 다음 반복으로 넘어가게 만듭니다. 즉, continue가 실행되면 현재 반복의 나머지 코드는 실행되지 않습니다.

    • pass는 아무런 동작도 수행하지 않고 단순히 자리만 차지할 뿐입니다. 따라서 pass가 실행되더라도 현재 코드의 흐름이 바뀌지 않고 이어지는 코드를 그대로 실행하게 됩니다.

예를 들어, 다음과 같은 코드가 있을 때:

   for i in range(5):
       if i == 3:
           continue
       print(i)

위 코드에서는 i가 3일 때 continue에 의해 print(i)를 건너뛰고 다음 반복으로 넘어갑니다. 따라서 0, 1, 2, 4가 출력됩니다.

   for i in range(5):
       if i == 3:
           pass
       print(i)

위 코드에서는 pass가 아무런 동작도 하지 않으므로 0, 1, 2, 3, 4가 모두 출력됩니다.

  1. pass 예제에서 else 없이 print(i)가 있을 경우

pass가 해당 블록에서 실제로 아무것도 하지 않기 때문에, if 조건의 pass 바로 아래에 print(i)가 있다면 i가 3일 때도 print(i)가 실행됩니다. else가 없어도 print(i)는 항상 실행됩니다.

추가적으로, continuepass에 대한 더 깊은 이해를 위해 관련된 질문을 참고해 보시면 도움이 될 것 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

BSI님의 프로필 이미지
BSI

작성한 질문수

질문하기