第5講

반복문 — for와 while로 반복하기

4 閲覧 1

for in range, for in list, while 반복문과 break/continue 흐름 제어

이번 강에서 배울 것

  • for 반복문 — 횟수와 목록을 순서대로 처리하기
  • range() 함수로 숫자 범위 생성하기
  • while 반복문 — 조건이 참인 동안 반복하기
  • break, continue, pass — 반복 흐름 제어
  • 중첩 반복문과 실전 예제

1. for 반복문

for 반복문은 리스트, 문자열, range 등 순서 있는 데이터를 하나씩 꺼내며 반복합니다. "목록의 각 항목에 대해 이 작업을 해라"는 의미입니다.

# 기본 구조
for 변수 in 반복대상:
    실행할 코드

# 리스트 반복
fruits = ["사과", "바나나", "포도", "딸기"]
for fruit in fruits:
    print(fruit)
# → 사과 / 바나나 / 포도 / 딸기

# 문자열 반복 (한 글자씩)
for char in "Python":
    print(char, end=" ")
# → P y t h o n

# range()와 함께 사용 (가장 많이 사용)
for i in range(5):
    print(i, end=" ")
# → 0 1 2 3 4  (0부터 4까지, 5 미포함)

2. range() 함수

# range(끝)         : 0 ~ 끝-1
# range(시작, 끝)   : 시작 ~ 끝-1
# range(시작, 끝, 간격): 시작부터 끝-1까지 간격마다

for i in range(5):
    print(i, end=" ")     # → 0 1 2 3 4

for i in range(1, 6):
    print(i, end=" ")     # → 1 2 3 4 5

for i in range(0, 11, 2):
    print(i, end=" ")     # → 0 2 4 6 8 10

for i in range(10, 0, -1):
    print(i, end=" ")     # → 10 9 8 7 6 5 4 3 2 1 (역순)

# 활용: 1부터 100까지 합계
total = 0
for i in range(1, 101):
    total += i
print(total)  # → 5050

# 구구단 5단
for i in range(1, 10):
    print(f"5 x {i} = {5 * i}")

3. enumerate() — 인덱스와 값 동시에

fruits = ["사과", "바나나", "포도"]

# enumerate: (인덱스, 값) 쌍으로 반환
for i, fruit in enumerate(fruits):
    print(f"{i}번: {fruit}")
# → 0번: 사과
# → 1번: 바나나
# → 2번: 포도

# 시작 번호 지정 가능
for i, fruit in enumerate(fruits, start=1):
    print(f"{i}번: {fruit}")
# → 1번: 사과
# → 2번: 바나나
# → 3번: 포도

4. while 반복문

while은 조건이 True인 동안 계속 반복합니다. 반복 횟수를 미리 모를 때 사용합니다.

# 기본 구조
while 조건식:
    실행할 코드
    # 반드시 조건을 변경하는 코드가 있어야 함!

# 카운트다운
count = 5
while count > 0:
    print(count, end=" ")
    count -= 1          # 없으면 무한 루프!
print("발사!")
# → 5 4 3 2 1 발사!

# 사용자 입력 받을 때까지 반복
while True:
    password = input("비밀번호를 입력하세요: ")
    if password == "1234":
        print("로그인 성공!")
        break           # 루프 탈출
    else:
        print("틀렸습니다. 다시 시도하세요.")

# while vs for 선택 기준
# for:   반복 횟수가 정해진 경우, 목록을 순회하는 경우
# while: 특정 조건이 만족될 때까지 반복하는 경우

5. break, continue, pass

# break: 반복문 즉시 탈출
for i in range(10):
    if i == 5:
        break
    print(i, end=" ")
# → 0 1 2 3 4  (5에서 멈춤)

# continue: 현재 반복 건너뛰고 다음으로
for i in range(10):
    if i % 2 == 0:
        continue        # 짝수면 건너뜀
    print(i, end=" ")
# → 1 3 5 7 9  (홀수만 출력)

# pass: 아무것도 하지 않음 (빈 블록 자리 유지)
for i in range(5):
    if i == 3:
        pass            # 나중에 코드 추가 예정
    print(i, end=" ")
# → 0 1 2 3 4  (3도 그냥 통과)

# 실용 예시: 소수(Prime) 찾기 1~30
for n in range(2, 31):
    is_prime = True
    for d in range(2, n):
        if n % d == 0:
            is_prime = False
            break
    if is_prime:
        print(n, end=" ")
# → 2 3 5 7 11 13 17 19 23 29

6. 중첩 반복문 — 구구단 전체 출력

# 중첩 for: 반복문 안에 또 다른 반복문
for dan in range(2, 10):          # 외부 반복: 2단~9단
    print(f"--- {dan}단 ---")
    for num in range(1, 10):      # 내부 반복: 1~9
        print(f"{dan} x {num} = {dan * num}")

# 별 피라미드 출력
rows = 5
for i in range(1, rows + 1):
    print("*" * i)
# →
# *
# **
# ***
# ****
# *****

# 리스트 컴프리헨션 맛보기 (7강에서 자세히)
squares = [x**2 for x in range(1, 6)]
print(squares)  # → [1, 4, 9, 16, 25]

5강 핵심 요약

  • for: 목록·range를 순서대로 처리 — 횟수가 정해진 반복
  • range(시작, 끝, 간격): 끝 값은 포함되지 않음
  • while: 조건이 True인 동안 반복 — 반드시 탈출 조건 작성
  • break: 즉시 탈출 / continue: 이번 회차 건너뜀 / pass: 자리 유지
  • while True + break 패턴 = 사용자 입력 검증에 자주 사용
  • 다음 강: 함수 — def로 코드를 묶어 재사용하는 방법

관련 검색어  ·  파이썬반복문, for문파이썬, while문파이썬, range함수, break continue, 중첩반복문, enumerate파이썬

コメント0件

채용정보
공지사항
인사이트
MY