파이썬 for말고 while문에 대해서 정리

반복문에는 for말고도 while이 있습니다.while문은 조건이 참인 동안 계속해서 코드를 실행하는 반복문으로, 반복 횟수를 정확히 모를 때 유용하게 사용됩니다.



1. while문 기본 구조

while문의 기본 문법은 다음과 같습니다.

while 조건식:
    실행할 코드

조건식이 True일 때 코드 블록이 실행되고, False가 되면 반복이 종료됩니다.

count = 0
while count < 5:
    print(f"현재 카운트: {count}")
    count += 1

# 출력:
# 현재 카운트: 0
# 현재 카운트: 1
# 현재 카운트: 2
# 현재 카운트: 3
# 현재 카운트: 4

2. 무한 루프와 break

조건식에 True를 넣으면 무한히 반복되는 루프를 만들 수 있습니다. break문을 사용해 특정 조건에서 루프를 빠져나올 수 있습니다.

while True:
    user_input = input("종료하려면 'q'를 입력하세요: ")
    if user_input == 'q':
        print("프로그램을 종료합니다.")
        break
    print(f"입력한 값: {user_input}")

숫자를 계속 더하다가 합이 100을 넘으면 멈추는 예제입니다.

total = 0
num = 1

while True:
    total += num
    if total > 100:
        print(f"{num}을 더했을 때 합이 {total}로 100을 초과했습니다.")
        break
    num += 1

3. continue로 반복 건너뛰기

continue문은 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다. while문에는 continue,break를 많이 사용합니다

num = 0
while num < 10:
    num += 1
    if num % 2 == 0:
        continue
    print(f"홀수: {num}")

# 출력:
# 홀수: 1
# 홀수: 3
# 홀수: 5
# 홀수: 7
# 홀수: 9

4. 중첩 while문

while문 안에 또 다른 while문을 넣어 사용할 수 있습니다.

i = 1
while i <= 3:
    j = 1
    while j <= 3:
        print(f"i={i}, j={j}")
        j += 1
    i += 1
    print("---")

# 출력:
# i=1, j=1
# i=1, j=2
# i=1, j=3
# ---
# i=2, j=1
# i=2, j=2
# i=2, j=3
# ---
# ...

구구단을 출력하는 예제입니다.

dan = 2
while dan <= 9:
    num = 1
    while num <= 9:
        print(f"{dan} x {num} = {dan * num}")
        num += 1
    print()
    dan += 1

5. while-else 구문

while문이 정상적으로 종료되면(break 없이) else 블록이 실행됩니다. if-elif-else구조에서 말고도 else를 실행할 수 있습니다

count = 0
while count < 3:
    print(f"카운트: {count}")
    count += 1
else:
    print("반복이 정상 종료되었습니다.")

# 출력:
# 카운트: 0
# 카운트: 1
# 카운트: 2
# 반복이 정상 종료되었습니다.

break로 종료되면 else 블록은 실행되지 않습니다.

count = 0
while count < 10:
    if count == 5:
        print("break로 종료")
        break
    count += 1
else:
    print("이 메시지는 출력되지 않습니다.")

# 출력:
# break로 종료

while문은 조건이 충족되는 동안 반복해야 할 때 사용하면 좋습니다. 다만 조건식을 잘못 작성하면 무한 루프에 빠질 수 있으니 주의가 필요합니다.

댓글 쓰기