개발/Python

[초급반] Step 4. 반복문 정복: for와 while로 코드 자동화하기

ophelisis 2025. 12. 16. 12:13
반응형

안녕하세요! 파이썬 학습 네 번째 시간입니다. 지난 시간에는 조건문 (if/else)을 통해 프로그램의 흐름을 분기하는 방법을 배웠습니다.

오늘은 코드를 반복적으로 실행하여 작업을 자동화하는 핵심 개념인 **반복문(Loop)**에 대해 알아보겠습니다. 반복문은 코딩 효율성을 높이는 가장 강력한 도구입니다.


1. 반복문이 필요한 이유

만약 "안녕하세요"라는 문장을 100번 출력해야 한다고 가정해 봅시다. print("안녕하세요")를 100줄 쓰는 것은 비효율적입니다. 반복문은 이 작업을 단 몇 줄의 코드로 해결해 줍니다.

파이썬에는 두 가지 종류의 반복문이 있습니다.

  1. for 반복문: 횟수나 범위가 명확할 때 사용합니다. (예: 10번 반복, 리스트의 모든 항목에 대해 반복)
  2. while 반복문: 조건이 충족될 때까지 반복할 때 사용합니다. (예: 사용자가 '종료'를 입력할 때까지 반복)

2. for 반복문 마스터하기

for 반복문은 **시퀀스(Sequence)**의 각 항목을 순회할 때 가장 많이 사용됩니다. 파이썬에서는 주로 range() 함수와 함께 특정 횟수만큼 반복할 때 사용됩니다.

💡 range() 함수로 횟수 지정

range(시작, 끝, 증가폭) 함수는 일련의 숫자를 생성합니다. 끝 숫자는 포함하지 않습니다!

Python
 
# 1. 0부터 4까지 5번 반복 (끝 숫자 5는 미포함)
for i in range(5):
    print(f"횟수: {i}") 
# 결과: 0, 1, 2, 3, 4 출력

# 2. 1부터 10까지 출력 (시작 숫자 지정)
for num in range(1, 11): 
    print(num, end=' ') 
# 결과: 1 2 3 4 5 6 7 8 9 10 

# 3. 2씩 증가하며 반복
for num in range(0, 10, 2):
    print(num) 
# 결과: 0, 2, 4, 6, 8 출력

💡 리스트 순회 (다음 Step에서 자세히 다룸)

파이썬에서 for 문은 리스트, 문자열 등 순서가 있는 자료형의 모든 요소에 쉽게 접근할 수 있도록 해줍니다.

Python
 
fruits = ['apple', 'banana', 'cherry']

for fruit in fruits:
    print(f"내가 좋아하는 과일은 {fruit}입니다.")

3. while 반복문 마스터하기

while 반복문은 특정 조건이 True인 동안 코드를 계속 실행합니다. 조건이 False가 되어야만 반복이 종료됩니다.

Python
 
# 초기 값 설정
count = 0 

# count가 3보다 작은 동안 계속 반복
while count < 3:
    print(f"현재 횟수: {count}")
    count = count + 1 # 잊으면 안 됩니다! (카운트 증가)
    
print("반복 종료")

주의! while 문을 사용할 때는 반드시 반복 조건을 변경하는 코드가 포함되어야 합니다. 그렇지 않으면 조건이 영원히 True가 되어 프로그램이 멈추는 **무한 루프(Infinite Loop)**에 빠집니다.

4. 반복문의 흐름 제어: break와 continue

반복문 안에서도 특정 상황에 따라 반복을 즉시 중단하거나 건너뛸 필요가 있습니다.

4-1. break: 반복문 즉시 종료

break 키워드는 현재 실행 중인 반복문을 완전히 빠져나와 반복문 다음 코드를 실행하게 합니다.

Python
 
for i in range(10):
    if i == 5:
        print("5가 되었으므로 반복 중단!")
        break # i가 5가 되면 반복문을 즉시 종료
    print(i)
# 결과: 0, 1, 2, 3, 4, 5가 되었으므로 반복 중단! 출력 후 종료

4-2. continue: 현재 반복 건너뛰기

continue 키워드는 현재 반복 순서를 중단하고, 즉시 다음 반복으로 넘어갑니다.

Python
 
for i in range(5):
    if i == 2:
        print("2는 건너뜁니다.")
        continue # i가 2일 때만 아래 print를 실행하지 않고 다음 반복으로 이동
    print(f"현재 숫자: {i}")
# 결과: 0, 1, 2는 건너뜁니다., 3, 4 출력

5. 중첩 반복문 (Nested Loops)

반복문 안에 또 다른 반복문이 들어가는 것을 중첩 반복문이라고 합니다. 구구단 같은 2차원적인 작업을 수행할 때 유용합니다.

Python
 
# 바깥쪽 for 문이 한 번 돌 때, 안쪽 for 문은 전부 실행됩니다.
for i in range(2, 4): # 2단, 3단
    print(f"\n--- {i} 단 ---")
    for j in range(1, 10):
        print(f"{i} x {j} = {i * j}")
반응형