반복문으로 효율 높이기
반복문으로 “귀찮음”을 자동화해버리기: for와 while 감 잡기
이전 글에서 조건문(2-3)을 했잖아?
“조건에 따라 이렇게도 하고, 저렇게도 한다” 그 흐름이 생겼다면, 이번엔 딱 그 다음 단계야.
솔직히 말하면… 반복 작업은 사람 손으로 하면 너무 금방 지쳐.
그래서 for, while로 “같은 일을 여러 번” 시켜보자. 나름 진짜 개발 느낌 납니다. 아, 그리고 잘못 쓰면 무한 루프… 그건 다음에 내가 겪은 유머러스한 실패담도 살짝 풀게!
반복문이 필요한 순간
반복문이 필요한 상황은 대충 이런 느낌이야:
- 숫자를 1부터 10까지 출력하기
- 리스트에 든 값들을 하나씩 확인하기
- 조건에 맞는 것만 골라서 처리하기
- 뭔가를 일정 횟수만큼 계속 실행하기
조건문이 “선택”이었다면, 반복문은 “여러 번 실행”이야.
그리고 진짜 핵심은 둘이 같이 붙을 때부터야.
for문: “몇 번 반복할지” 알 때
for는 보통 이런 상황에서 써:
- “10번 반복할 거야”
- “리스트 길이만큼 돌려야 해”
- “인덱스를 써서 접근해야 해”
예를 들어 1부터 5까지 출력:
for i in range(1, 6):
print(i)
range(1, 6)은 1~5까지 뽑아줘i는 매번 한 값씩 받아서 순서대로 반복
while문: “언제까지 반복할지” 모를 때
while은 조건이 “참인 동안” 계속 반복해.
- “사용자가 종료할 때까지 입력 받자”
- “맞을 때까지 반복하자”
- “특정 조건이 만족될 때까지 계속 돌리자”
예시로, 5보다 작을 동안 출력해보자:
n = 0
while n < 5:
print(n)
n += 1
여기서 중요한 포인트는 딱 하나:
while은 조건이 언젠가 거짓이 되어야 끝나!
근데 이걸 깜빡하면… 음… 무한 루프가 와요.
나는 예전에 “n을 증가시키는 줄”을 지우고 실행했는데, 콘솔이 안 멈추더라.
거기서 내가 제일 먼저 한 건… “아, 내가 지금 컴퓨터를 학대하고 있구나” 였어. (하하)
for + 조건문: “반복하면서 걸러내기”
반복문이 그냥 출력만 한다면 재미가 반쯤이지?
조건문이랑 합치면 진짜 쓸모가 확 살아.
예를 들어 1부터 20까지 중에서 짝수만 출력:
for num in range(1, 21):
if num % 2 == 0:
print(num)
- 반복을 하면서
- 매번 조건(
num % 2 == 0)을 확인하고 - 맞는 것만 출력
이런 패턴이 진짜 많이 나와.
나름 “프로그래밍의 기본 체력” 느낌이랄까.
while + 조건문: “끝 조건까지 계속”
while은 사용자의 입력처럼 “언제 끝날지”가 애매할 때 좋아.
간단한 예시로, exit를 입력하면 종료:
while True:
text = input("입력(종료: exit) > ")
if text == "exit":
break
print("입력값:", text)
while True:로 일단 무조건 시작하고- 종료 조건이 나오면
break로 멈춰
여기서 break는 반복문을 “강제로 끊는” 느낌이야.
break와 continue도 같이 기억하자
반복하면서 흐름을 조절하는 애들이 있어:
break: 바로 끝내기
for num in range(1, 10):
if num == 5:
break
print(num)
5가 되면 반복문 자체를 종료!
continue: 이 반복만 건너뛰기
for num in range(1, 6):
if num == 3:
continue
print(num)
3만 스킵하고 나머지는 계속 출력!
실전 느낌으로: “가장 쉬운 자동화” 만들기
이제부터는 진짜 바이브 코딩 느낌으로 가보자.
예를 들어 사용자가 숫자를 여러 개 입력하면, 합계를 내는 걸 만들어볼 수도 있고!
일단 가장 쉬운 버전으로:
- 사용자는 정수를 입력
0을 입력하면 종료- 그 전까지의 합을 출력
total = 0
while True:
n = int(input("정수 입력(종료: 0) > "))
if n == 0:
break
total += n
print("합계:", total)
이 정도면 이미 “반복 + 조건 + 입력”이 같이 들어가 있는 거라서,
다음 글(2-5 함수)로 넘어갈 때도 흐름이 자연스럽게 이어질 거야.
정리: 언제 뭘 쓰면 좋을까?
딱 감만 잡아보자면:
- for: “몇 번” 또는 “목록을 쭉” 돌릴 때
- while: “조건이 만족될 때까지” 반복할 때
그리고 둘 다 공통으로:
- 반복 안에서 조건문을 쓰면 훨씬 유용해져
- 무한 루프 조심!
while에서는 특히 종료 조건이 꼭 있어야 함
다음 글인 2-5. 함수로 코드 정리하기에서는
지금까지 반복/조건으로 길어졌던 코드를 “딱 필요한 만큼만” 깔끔하게 묶는 방법을 해볼 거야.
아! 그리고 함수 나오면… 솔직히 말하면 “아, 내가 왜 이전에 이렇게 길게 썼지?” 싶은 순간이 올 가능성 높아.
근데 그게 성장이지 뭐… 나도 그랬어 😄




