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