실버를 위한 코딩/파이썬

반복문: for, while, 중첩 반복문, 반복문 제어

forSilver 2024. 12. 2. 03:26
반응형

반복문: for, while, 중첩 반복문, 반복문 제어

파이썬에서 반복문은 특정 작업을 여러 번 반복 수행하거나, 데이터 구조를 순회하는 데 사용됩니다. 이 문서에서는 for 문, while 문, 중첩 반복문, 그리고 반복문 제어 키워드(break, continue, pass)를 설명합니다.


1. for

for 문은 반복 가능한 객체(iterable)를 순회하며 각 요소에 대해 작업을 수행합니다.

기본 구조

for 변수 in 반복가능한객체:
    실행할 코드

예제

# 리스트 순회
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)
# 문자열 순회
text = "Python"
for char in text:
    print(char)

range()와 함께 사용

# 0부터 4까지 출력
for i in range(5):
    print(i)

# 1부터 10까지 2씩 증가
for i in range(1, 11, 2):
    print(i)


2. while

while 문은 조건이 참(True)인 동안 계속해서 반복 실행됩니다. 조건이 거짓이 되면 종료됩니다.

기본 구조

while 조건:
    실행할 코드

예제

# 1부터 5까지 출력
i = 1
while i <= 5:
    print(i)
    i += 1


3. 중첩 반복문

반복문 안에 또 다른 반복문을 작성할 수 있습니다. 이를 중첩 반복문이라 합니다.

기본 구조

for 변수1 in 반복가능한객체1:
    for 변수2 in 반복가능한객체2:
        실행할 코드

예제

# 구구단 출력
for i in range(2, 10):  # 2단부터 9단까지
    for j in range(1, 10):  # 각 단의 1부터 9까지
        print(f"{i} x {j} = {i * j}")
    print()  # 단 사이의 빈 줄

# 2D 리스트 출력
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
    for value in row:
        print(value, end=" ")
    print()


4. 반복문 제어

1) break

  • 반복문을 즉시 종료합니다.
for i in range(10):
    if i == 5:
        break
    print(i)  # 0, 1, 2, 3, 4 출력

2) continue

  • 현재 반복을 건너뛰고 다음 반복을 시작합니다.
for i in range(5):
    if i == 2:
        continue
    print(i)  # 0, 1, 3, 4 출력 (2는 건너뜀)

3) pass

  • 아무 동작도 하지 않습니다. (자리만 차지)
for i in range(5):
    if i == 2:
        pass  # 아무 작업도 하지 않음
    print(i)  # 0, 1, 2, 3, 4 출력

4) else

  • 반복문이 정상적으로 종료되었을 때 실행됩니다. (즉, break에 의해 종료되지 않았을 경우)
for i in range(5):
    print(i)
else:
    print("반복문이 정상 종료되었습니다.")  # break가 없으면 실행


5. 실생활 예제

1) 리스트 요소 합 구하기

numbers = [1, 2, 3, 4, 5]
total = 0

for num in numbers:
    total += num

print("합계:", total)  # 출력: 합계: 15

2) 특정 조건에서 break 사용

# 1부터 10까지 숫자 중에서 5를 찾으면 종료
for i in range(1, 11):
    if i == 5:
        print("찾았다:", i)
        break

3) 특정 조건에서 continue 사용

# 1부터 10까지 숫자 중 홀수만 출력
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)  # 1, 3, 5, 7, 9 출력


6. 실습 과제

1. 1부터 100까지의 합을 구하세요.

total = 0
for i in range(1, 101):
    total += i
print(total)

2. 구구단을 출력하는 프로그램을 작성하세요.

for i in range(2, 10):
    for j in range(1, 10):
        print(f"{i} x {j} = {i * j}")
    print()

3. 사용자가 입력한 숫자 중 음수가 입력되면 반복을 종료하는 프로그램을 작성하세요.

while True:
    num = int(input("숫자를 입력하세요: "))
    if num < 0:
        print("음수가 입력되어 종료합니다.")
        break
    print(f"입력한 숫자는 {num}입니다.")

4. 리스트에서 짝수만 출력하세요.

numbers = [10, 15, 20, 25, 30]
for num in numbers:
    if num % 2 != 0:
        continue
    print(num)  # 10, 20, 30 출력


파이썬의 반복문은 강력하고 유연하며, 다양한 반복 작업에서 효율적으로 사용할 수 있습니다. 실습을 통해 반복문 제어 키워드와 중첩 구조를 익히세요.