파이썬 Python

[파이썬] for - else 문 ,while - else 문 (반복문 - else)

킹남지 2021. 8. 4. 18:30
반응형

알고리즘 문제를 풀 때마다 반복문의 loop를 마친 후에 확인 과정을 위해 변수를 하나 더 설정하는게

뭔가 불편해서 방법이 없나 찾아봤습니다.

 

파이썬에서는

 for-else 또는 while-else를 사용하면 그런 찝찝함을 해소할 수 있습니다.

 

이렇게 코드를 작성하면 반복문이 break가 되지 않고 loop를 끝까지 마친다면 else에 있는 코드를 실행합니다.

 

for - else 를 예시로 들어서 한번 확인해봅시다.

기존의 코드부터 보겠습니다.

a = [3, 5, 7, 15, 21]

check = False # 짝수가 있는지 판단

for i in a:
    if i % 2 == 0:
        check = True
        break

if check == False:
    print('짝수가 없습니다.')
    
 
==> 짝수가 없습니다.

이렇게 check와 같은 bool 타입 변수를 사용해 확인하는게 일반적입니다.

 

 

하지만 for-else를 활용하면

a = [3, 5, 7, 15, 21]

for i in a:
    if i % 2 == 0:
        break

else:
    print('짝수가 없습니다.')
    
   
==> 짝수가 없습니다.

이렇게 줄일 수 있습니다.

반응형