카테고리 없음

[python] for-else문 사용법・ 이중 for문 완전히 탈출

viamemine 2024. 5. 30. 17:29
728x90
반응형

 

코딩테스트를 준비하면서 이중 for문을 완전히 탈출하는 코드를 작성한 적이 있습니다. 

이중 for문 탈출은 일반적으로 flag를 사용해서 break로 탈출하는데요. 

그 밖에 for else문으로 탈출할 수 있음도 알게 되어 공유드리려고 글을 작성하게 되었습니다.

 

 

for-else문이 작동하는 과정

for-else문은 

for문이 break 등으로 중간에 빠져나오지 않고 끝까지 실행됐을 경우, else문이 실행됩니다.

 

for i in range(2):
	print(i, end=' ')
else:
	print('for문이 끝까지 실행됐습니다!')

 

위의 코드를 실행하면 하단처럼 결과가 나오는데요.

이는 for문이 중간에 빠져나오지 않고 끝까지 실행됐기 때문입니다.


그렇다면 이렇게 코드를 작성한다면, 결과는 어떻게 나올까요 ? 

for i in range(2):
    if i == 1:
        break
    print(i, end=' ')
else:
    print("for문이 끝까지 실행됐습니다! ")

 

for문이 중간에 멈췄기 때문에, else가 실행되지 않았습니다.


for-else문으로, 이중 for문 탈출하는 방법

for i in range(1, 4):
    for j in range(1, 3):
        print('바깥쪽 {} : 안쪽 {}' .format(i, j))
        if i == 2 and j ==2 :
            break
    else:
        continue
    break

 

이렇게, i=2이고 j=2일 때 안쪽 for-else문을 벗어나게 되어

바로 마지막 줄의 break문을 동작시키게 됩니다. 

 

(꿀팁이죠 ? ㅎㅡㅎ)

 

 

 

728x90