목차
1. 반복문 Loop란?
지난 시간에는 조건문 if를 이용하여 프로그램이 스스로 판단하는 방법을 배웠습니다. 이번에는 프로그래밍의 또 다른 핵심 개념인 반복문 Loop를 배워보겠습니다.
반복문은 같은 작업을 여러 번 반복해서 실행할 수 있게 해주는 기능입니다.
- 안녕하세요를 100번 출력하기
- 학생 30명의 점수 처리하기
- 파일 1,000개를 자동으로 분석하기
- AI 모델 학습 데이터 반복 처리하기
만약 반복문이 없다면 같은 코드를 수십 번, 수백 번 작성해야 할 것입니다. Python에서는 이러한 반복 작업을 쉽게 처리할 수 있도록 for 문을 제공합니다.
다음 코드는 같은 문장을 5번 출력합니다.
for i in range(5):
print("안녕하세요")실행 결과입니다.
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요단 두 줄의 코드로 동일한 작업을 여러 번 수행할 수 있습니다.
2. for 문 기본 구조
Python의 for 문 기본 형태입니다.
for 변수 in 반복대상:
실행할 코드예제입니다.
for i in range(3):
print(i)실행 결과입니다.
0
1
2range(3)은 다음 값을 의미합니다.
0, 1, 2for 문은 값을 하나씩 꺼내서 변수 i에 저장한 후 실행합니다.
3. range() 함수 이해하기
range()는 for 문에서 가장 많이 사용하는 함수입니다.
| 형태 | 의미 | 출력 범위 |
|---|---|---|
| range(5) | 0부터 시작하고 종료값은 포함하지 않습니다. | 0, 1, 2, 3, 4 |
| range(1, 6) | 시작값부터 종료값 전까지 생성합니다. | 1, 2, 3, 4, 5 |
| range(1, 11, 2) | 시작값, 종료값, 증가값을 지정합니다. | 1, 3, 5, 7, 9 |
range(5)
for i in range(5):
print(i)결과입니다.
0
1
2
3
40부터 시작하며 마지막 숫자는 포함되지 않습니다.
range(1, 6)
for i in range(1, 6):
print(i)결과입니다.
1
2
3
4
5range(시작값, 종료값)종료값은 포함되지 않습니다.
range(1, 11, 2)
for i in range(1, 11, 2):
print(i)결과입니다.
1
3
5
7
9range(시작값, 종료값, 증가값)4. 숫자 반복 실습
1부터 10까지 출력
for i in range(1, 11):
print(i)짝수만 출력
for i in range(2, 11, 2):
print(i)결과입니다.
2
4
6
8
1010부터 1까지 출력
for i in range(10, 0, -1):
print(i)결과입니다.
10
9
8
7
6
5
4
3
2
15. 문자열과 리스트 반복하기
문자열 반복하기
문자열도 한 글자씩 반복할 수 있습니다.
name = "Python"
for ch in name:
print(ch)결과입니다.
P
y
t
h
o
n문자열 역시 반복 가능한 데이터입니다.
리스트 반복하기
리스트는 for 문과 가장 많이 사용됩니다.
fruits = ["사과", "바나나", "포도"]
for fruit in fruits:
print(fruit)결과입니다.
사과
바나나
포도리스트와 인덱스 함께 사용하기
fruits = ["사과", "바나나", "포도"]
for i in range(len(fruits)):
print(i, fruits[i])결과입니다.
0 사과
1 바나나
2 포도enumerate() 사용하기
실무에서는 enumerate()를 더 많이 사용합니다.
fruits = ["사과", "바나나", "포도"]
for idx, fruit in enumerate(fruits):
print(idx, fruit)결과입니다.
0 사과
1 바나나
2 포도코드가 더욱 읽기 쉽습니다.
6. 반복문 안에서 계산하기
1부터 10까지 합계 구하기
total = 0
for i in range(1, 11):
total += i
print(total)결과입니다.
55동작 과정입니다.
0 + 1
1 + 2
3 + 3
6 + 4
...
55사용자 입력과 반복문: 구구단 2단 만들기
for i in range(1, 10):
print(f"2 x {i} = {2*i}")결과입니다.
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
...
2 x 9 = 187. 중첩 반복문 Nested Loop
반복문 안에 또 다른 반복문을 사용할 수 있습니다.
for 변수1 in 반복대상:
for 변수2 in 반복대상:
실행코드구구단 전체 출력하기
for dan in range(2, 10):
print(f"\n[{dan}단]")
for num in range(1, 10):
print(f"{dan} x {num} = {dan*num}")실행 결과입니다.
[2단]
2 x 1 = 2
...
2 x 9 = 18
[3단]
3 x 1 = 3
...8. break와 continue
break 사용하기
break는 반복문을 즉시 종료합니다.
for i in range(10):
if i == 5:
break
print(i)결과입니다.
0
1
2
3
4i가 5가 되는 순간 반복문이 종료됩니다.
continue 사용하기
continue는 현재 반복만 건너뜁니다.
for i in range(1, 6):
if i == 3:
continue
print(i)결과입니다.
1
2
4
53만 제외하고 출력됩니다.
9. 실무 예제
실무 예제 1. 학생 점수 평균 계산
scores = [80, 95, 75, 100, 90]
total = 0
for score in scores:
total += score
average = total / len(scores)
print("평균:", average)결과입니다.
평균: 88.0실무 예제 2. 비밀번호 검사
password = "python123"
for ch in password:
print(ch)결과입니다.
p
y
t
h
o
n
1
2
3실제 로그인 시스템, 보안 검사, 문자열 분석 등에 활용됩니다.
실무 예제 3. 파일 자동 처리
files = [
"report.pdf",
"image.jpg",
"data.csv"
]
for file in files:
print(file, "처리 완료")결과입니다.
report.pdf 처리 완료
image.jpg 처리 완료
data.csv 처리 완료실제 업무 자동화 프로그램의 기본 구조입니다.
10. 자주 하는 실수와 실습 문제
초보자가 자주 하는 실수
range(1, 10)은 1부터 9까지입니다. 10은 포함되지 않습니다.
for 문 아래 실행 코드는 반드시 들여쓰기해야 합니다.
반복문 종료 후 i 값이 남아있을 수 있으므로 같은 이름을 계속 재사용할 때 주의해야 합니다.
range 종료값 예시입니다.
range(1, 10)출력 범위입니다.
1~9들여쓰기 오류 예시입니다.
for i in range(5):
print(i)오류입니다.
IndentationError변수 이름 재사용 예시입니다.
for i in range(5):
print(i)
print(i)실습 문제
1부터 100까지 출력합니다.
1부터 100까지의 합을 구합니다. 예상 결과는 5050입니다.
사용자로부터 숫자를 입력받아 해당 단의 구구단을 출력합니다.
리스트에 저장된 과일 이름을 모두 출력합니다.
문제 2 예상 결과입니다.
5050문제 3 예시 입력입니다.
7문제 3 예시 결과입니다.
7 x 1 = 7
7 x 2 = 14
...
7 x 9 = 63문제 4 리스트입니다.
fruits = ["사과", "바나나", "포도", "수박"]11. 핵심 정리와 다음 편 예고
이번 시간에는 Python의 반복문인 for 문을 배웠습니다.
- for 문은 반복 작업을 수행합니다.
- range()는 숫자 범위를 생성합니다.
- 문자열과 리스트도 반복 가능합니다.
- 중첩 반복문을 사용할 수 있습니다.
- break는 반복을 종료합니다.
- continue는 현재 반복을 건너뜁니다.
- 실무에서 데이터 처리, 파일 처리, AI 학습 등에 매우 많이 사용됩니다.
for 문은 Python 프로그래밍의 핵심 중 하나이며, 거의 모든 프로젝트에서 사용됩니다. 특히 데이터 분석, 웹 개발, 자동화, AI 개발에서는 반복문을 자유롭게 사용할 수 있어야 합니다.
- while 문 기본 문법
- 무한 반복 Infinite Loop
- break와 함께 사용하기
- 사용자 입력 반복 처리
- 메뉴 선택 프로그램 만들기
- 실무 활용 사례
