[python] 파이썬 for ~ else, while ~ else 반복문

Ryong·2022년 12월 28일
post-thumbnail

코딩테스트 공부를 하다가 다른 분들의 코드에서 for ~ else, while ~ else 반복문을 목격하게 됐다…

부끄럽지만 문법 자체를 처음 봐서 이게 뭔가 싶었다... 이제 알게 됐으니 잘 알아보고 다음에 활용해보도록 하겠다.

📌for ~ else 반복문

문법 자체는 for문을 작성할 때와 같다. 뒤에 else문이 추가될 뿐이다. for ~ else 문에서 else 문이 출력되는 경우는 for문이 끝까지 실행됐을 때이다. break 등이 실행돼 for문이 끝까지 실행되지 않는 경우 출력되지 않는다.

// break가 없을 때
for i in range(3):
    print(i, end=' ')
else:
    print('else 출력')

// break가 있을 때
for i in range(3):
    if i == 2:
        print('종료')
        break
    print(i, end=' ')
else:
    print('else 출력')

다음과 같은 결과를 출력한다.

위쪽 for ~ else 문은 반복문이 끝까지 실행돼 else 문이 실행된 것을 볼 수 있다. 아래쪽 for ~ else 문에서는 break가 실행돼 else 문이 실행되지 않았다.

📌while ~ else 반복문

while ~ else 문에서 else 문이 출력되는 경우는 while의 조건문이 거짓으로 판별될 때까지 실행됐을 경우이다. break 등이 실행돼 while문이 끝까지 실행되지 않는 경우 출력되지 않는다.

// break가 없을 때
i = 2
while i > 0:
    print(i, end=' ')
    i -= 1
else:
    print('else 출력')

// break가 있을 때
i = 2
while i > 0:
    if i == 1:
        print('종료')
        break
    print(i, end=' ')
    i -= 1
else:
    print('else 출력')

다음과 같은 결과를 출력한다.

위쪽 while ~ else 문i > 0 이 거짓일 때까지 실행돼 else 문이 실행된 것을 볼 수 있다. 아래쪽 while ~ else 문에서는 break가 실행돼 else 문이 실행되지 않았다.

profile
글을 작성하는 연습 중인 백엔드 개발자

0개의 댓글