🎯 학습 목표
- 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문이 더 읽기 쉽습니다. 가독성을 우선하세요.