반복문에는 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문은 조건이 충족되는 동안 반복해야 할 때 사용하면 좋습니다. 다만 조건식을 잘못 작성하면 무한 루프에 빠질 수 있으니 주의가 필요합니다.
댓글 쓰기