4.2.9 루프와 else 키워드를 사용한다

    else 키워드는 대개 if 키워드와 함께 쓰인다. 하지만 파이썬에서는 루프에서 사용하는 try-except 문법으로 사용될 수 있다.

    루프와 함께 사용한 else는 루프가 break 문을 만나서 일찍 빠져나오지 않는 한 루프 종료 시 실행된다.

    다음 코드는 2보다 크고 max보다 작거나 같은 숫자 중에 n을 나머지 없이 나눌 수 있는 약수를 찾는다. 약수를 못 찾는 경우 루프가 종료되면서 else 문이 실행된다.

    def find_divisor(n, max):
        for i in range(2, max + 1):
            if n % i == 0:
                print(i, 'divides evenly into', n)
                break
        else:
            print('No divisor found')

    실행 결과는 다음과 같다.

    >>> find_divisor(49, 6)
    No divisor found
    >>> find_divisor(49, 7)
    7 divides evenly into 49
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.