Programming Languages/Python

반복문 (Loops)

newclass 2025. 3. 21. 07:31

반복문 (Loops)

반복문은 같은 코드를 여러 번 실행해야 할 때 사용하는 제어 구조입니다. 파이썬에서는 for문과 while문 두 가지 형태의 반복문을 제공합니다.

for 루프

for 문은 시퀀스(리스트, 튜플, 문자열 등)의 각 항목을 순회하거나, 지정된 횟수만큼 반복할 때 사용합니다.

기본 구조

# for 문 기본 구조
for 변수 in 시퀀스:
    # 반복 실행할 코드
    실행문

예시 1: 리스트 순회

fruits = ["사과", "바나나", "체리"]

for fruit in fruits:
    print(fruit)

실행 결과

사과
바나나
체리

 

예시 2: 문자열 순회

message = "Python"

for char in message:
    print(char)

실행 결과

P
y
t
h
o
n

 

예시 3.1: range() 함수를 활용한 반복

range() 함수는 특정 범위의 숫자 시퀀스를 생성합니다.

# range(stop) - 0부터 stop-1까지의 숫자 시퀀스
for i in range(5):
    print(i)

실행 결과

0
1
2
3
4

 

예시 3.2: range() 함수를 활용한 반복

# range(start, stop) - start부터 stop-1까지의 숫자 시퀀스
for i in range(2, 6):
    print(i)

실행 결과

2
3
4
5

 

예시 3.3: range() 함수를 활용한 반복

# range(start, stop, step) - start부터 stop-1까지 step 간격의 숫자 시퀀스
for i in range(1, 10, 2):
    print(i)

실행 결과

1
3
5
7
9

 

예시 4: 인덱스와 함께 순회하기 (enumerate)

enumerate() 함수를 사용하면 시퀀스의 항목과 함께 인덱스를 얻을 수 있습니다.

fruits = ["사과", "바나나", "체리"]

for index, fruit in enumerate(fruits):
    print(f"{index}번째 과일: {fruit}")

실행 결과:

0번째 과일: 사과
1번째 과일: 바나나
2번째 과일: 체리

while 루프

while 문은 주어진 조건이 참(True)인 동안 계속해서 코드 블록을 실행합니다. 조건이 거짓(False)가 되면 반복이 종료됩니다.

기본 구조

# while 문 기본 구조
while 조건:
    # 조건이 참인 동안 반복 실행할 코드
    실행문

예시 1: 기본 while 루프

count = 1

while count <= 5:
    print(count)
    count += 1  # 증가하지 않으면 무한 루프에 빠짐

실행 결과:

1
2
3
4
5

 

예시 2: 사용자 입력에 따른 반복

answer = ""

while answer.lower() != "quit":
    answer = input("계속하려면 아무 키나 입력하세요. 종료하려면 'quit'를 입력하세요: ")
    print(f"입력한 값: {answer}")

print("프로그램을 종료합니다.")

이 예제는 사용자가 'quit'를 입력할 때까지 계속해서 입력을 요청합니다.

 

예시 3: 무한 루프와 break 문

break 문은 반복문을 즉시 종료하고 다음 코드로 넘어갑니다.

while True:  # 무한 루프
    answer = input("종료하려면 'quit'를 입력하세요: ")
    
    if answer.lower() == "quit":
        break  # while 루프 종료
    
    print(f"입력한 값: {answer}")

print("프로그램을 종료합니다.")

 

예시 4: continue 문

continue 문은 현재 반복을 건너뛰고 다음 반복으로 바로 넘어갑니다.

count = 0

while count < 10:
    count += 1
    
    if count % 2 == 0:  # 짝수인 경우
        continue  # 아래 코드를 실행하지 않고 다음 반복으로
    
    print(count)  # 홀수만 출력됨

실행 결과

1
3
5
7
9

 

예시 5: else 절이 있는 while 문

파이썬에서는 while 루프가 break 없이 정상적으로 종료되었을 때 실행되는 else 절을 추가할 수 있습니다.

count = 1

while count <= 5:
    print(count)
    count += 1
else:
    print("카운트가 완료되었습니다!")

실행 결과:

1
2
3
4
5
카운트가 완료되었습니다!

하지만 break로 루프가 종료되면 else 절은 실행되지 않습니다

count = 1

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

실행 결과

1
2
3

for 문과 while 문의 비교

특징 for 문 while 문
용도 시퀀스 순회, 정해진 횟수만큼 반복 조건이 참인 동안 반복
종료 조건 모든 항목을 순회한 후 조건이 거짓이 될 때
적합한 상황 반복 횟수를 미리 알고 있을 때 반복 횟수를 미리 알 수 없을 때
무한 루프 일반적으로 발생하지 않음 조건 관리에 주의해야 함