파이썬의 기본적인 while 사용법은 다음과 같다.
while 식의 조건 여부를 검사하고 while 문 내부에 정의된 함수를 실행한다.
while 조건:
# act something..
do_in_while()
pass
while 조건이 끝난 후 실행하고싶은 구문이 있으면 다음과 같이 사용할 수 있다.
while 조건:
# act something..
do_in_while()
pass
# act something after while
do()
하지만 이경우 do 가 while 문과 관련있는 함수인지 아니면 전혀 다른 함수인지 혼동할 여지가있다.
python 에서는 while-else 문으로 더 명시적으로 위와같은 문제를 해결할수있다.
if-else 문법처럼 if 조건 을 검사하듯 while 조건이 만족하지않을경우 else문이 실행된다고 이해하면 좋다. 😎
while 조건:
do_in_while()
pass
else:
do_while_finally()
t = int(input())
while 0 < t:
print(f"t is .. {t}")
t -= 1
else:
print(f"t is .. {t}")
😎 for 반복문에도 가능하다. 위의 예제를 for문으로 변경한다면 다음과 같다.
t= int(input())
for i in range(t):
print(f"t is .. {t}")
else:
print(f"t is .. {t}")
while-else ,for-else 모두 조건식에서 break 를 만난다면 else 문 또한 작동하지 않는다. 실행부에 break 가 있다면 정상작동하지 않을 수 있음을 인지하여야 한다.