Python/Syntax
[Python] while ~ else문
koosco!
2023. 1. 17. 01:24
if ~ else문을 이용하면 if 조건식에 있는 조건을 만족하지 못할 때 else에 있는 실행문이 실행된다.
if 조건문1:
실행문1
else:
실행문2
이런 조건을 while문에 대해서도 동일하게 적용할 수 있다.
while 조건문:
실행문1
...
if ~:
break
else:
실행문2
만약 while 조건문이 아니라 내부에서 break에 의해 반복문이 멈추면 else에 해당하는 실행문은 실행되지 않는다.
반면 while 조건문에 의해 while문이 멈춘다면 else에 있는 실행문이 실행되게 된다.
# 백준 16952: A -> B
a, b = map(int, input().split())
cnt = 0
while a != b:
if b % 10 == 1:
b //= 10
elif b % 2 == 0:
b //= 2
cnt += 1
if a > b:
print(-1)
break
else:
print(cnt + 1)
while문을 사용할 때 여러 개의 조건을 사용한다면 flag를 사용하는 방법을 썼는데 while ~ else문을 사용하면 이런 상황에서 유용하게 구현할 수 있다.