기초

파이썬 기초 04강 — 제어문: 조건문과 반복문

🎯 학습 목표

  • if/elif/else로 조건에 따라 분기한다.
  • for와 while로 반복하고 break·continue를 쓴다.
  • 리스트 컴프리헨션으로 간결하게 리스트를 만든다.

📖 들여쓰기가 곧 블록이다

파이썬은 중괄호 {} 대신 들여쓰기(보통 공백 4칸)로 코드 블록을 묶습니다. 같은 깊이로 들여쓴 줄들이 한 블록입니다. 들여쓰기가 어긋나면 에러가 나므로 일관성이 중요합니다.

💻 조건문 — if / elif / else

score = 85

if score >= 90:
    grade = "A"
elif score >= 80:      # 앞 조건이 거짓일 때 검사
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "F"

print(grade)   # B
# 비교·논리 연산자
# ==  !=  >  <  >=  <=        비교
# and  or  not                 논리
age = 25
if age >= 20 and age < 65:
    print("성인")

💻 반복문 — for

# 리스트 순회
for fruit in ["사과", "바나나", "포도"]:
    print(fruit)

# 횟수 반복: range
for i in range(5):        # 0,1,2,3,4
    print(i)
for i in range(1, 11):    # 1~10
    print(i)
for i in range(0, 10, 2): # 0,2,4,6,8 (2씩)
    print(i)

# 인덱스+값 동시: enumerate
for idx, name in enumerate(["철수","영희"]):
    print(idx, name)      # 0 철수 / 1 영희

💻 반복문 — while

count = 0
while count < 3:          # 조건이 참인 동안 반복
    print("반복", count)
    count += 1            # 이 줄이 없으면 무한 루프!

💻 break와 continue

for n in range(1, 100):
    if n == 5:
        break             # 반복 즉시 종료
    print(n)              # 1,2,3,4

for n in range(1, 6):
    if n % 2 == 0:
        continue          # 이번 회차만 건너뛰고 다음으로
    print(n)              # 1,3,5 (짝수 건너뜀)

💻 리스트 컴프리헨션 — 한 줄로 리스트 만들기

# 일반 방식
squares = []
for n in range(1, 6):
    squares.append(n * n)
# → [1, 4, 9, 16, 25]

# 컴프리헨션: 같은 결과를 한 줄로
squares = [n * n for n in range(1, 6)]

# 조건 필터도 가능 (짝수만 제곱)
evens = [n * n for n in range(1, 11) if n % 2 == 0]
# → [4, 16, 36, 64, 100]

⚠️ 주의사항

  • while에서 조건을 거짓으로 만드는 코드(count += 1 등)를 빠뜨리면 무한 루프에 빠집니다. 셸에서는 Ctrl+C로 중단합니다.
  • 들여쓰기는 탭과 공백을 섞지 마세요. 공백 4칸으로 통일하는 것이 표준입니다.

💡 팁

  • range(n)은 0부터 n-1까지입니다. 끝값 n은 포함되지 않는다는 점을 기억하세요(슬라이싱과 같은 규칙).
  • 컴프리헨션은 간결하지만, 조건이 복잡해지면 일반 for문이 더 읽기 쉽습니다. 가독성을 우선하세요.