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문을 사용하면 이런 상황에서 유용하게 구현할 수 있다.
'Python > Syntax' 카테고리의 다른 글
[Numpy] hstack (2) | 2023.03.23 |
---|---|
[Pandas] 함수 정리 (0) | 2023.02.09 |
[Python] glob (0) | 2023.01.04 |
[Python] itertools (순열, 조합) (0) | 2022.12.21 |
[Pandas] pivot (0) | 2022.09.28 |