zenn.skin 무료버전 배포중!
자세히보기

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문을 사용하면 이런 상황에서 유용하게 구현할 수 있다.

'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

'Python/Syntax'의 다른글

  • 현재글 [Python] while ~ else문

관련글