종합 정리
1 / 6

종합 정리

한 학기 동안 학습한 파이썬 프로그래밍 개념 완벽히 다지기

기말고사 대비 — 전체 핵심 알고리즘 패턴 총복습 및 디버깅 훈련

오늘의 수업 목표

  • 입출력, 조건/반복문, 리스트/딕셔너리, 함수의 유기적 연계를 총정리한다.
  • 단골로 출제되고 빈발하는 프로그램 에러의 유형을 파악해 예방한다.
  • 안전한 예외 방어 처리를 동반한 탄탄한 문제 해결 능력을 습득한다.

파이썬 핵심 지도 그리기

문법들이 퍼즐 조각처럼 연결되어 온전한 하나의 모듈을 이룹니다.

  • 입출력: input() → int() 변환 후 데이터 수급
  • 분기/반복: if 조건 분류와 for / while 루프 구동
  • 자료구조: list의 데이터 묶음과 dict 고속 검색 매칭
  • 함수 설계: def의 입력/출력 셋팅 및 기능별 부품화

빈출 오류 1 — 변수 범위와 0 나누기

프로그램 비정상 중단을 가져오는 주범들을 디버깅합니다.

# 1. 지역 변수 소멸 에러
def calc():
    res = 50
# print(res)  # ⚠️ NameError 발생! (함수 밖 호출 불가)

# 2. ZeroDivisionError (0 나누기)
if cnt != 0:
    avg = total / cnt
else:
    avg = 0  # ⚠️ 0인 경우의 수동 값 셋팅

빈출 오류 2 — range 경계와 dict 키 부재

코드가 멈추지 않고 오작동하는 논리적 버그를 차단합니다.

# 1. 오프바이원 오차
for i in range(1, 10):  # ⚠️ 1부터 9까지만 루프 회전
    pass

# 2. KeyError 방지 (get 활용)
info = {"name": "전사"}
# print(info["level"])  # KeyError 발생!
print(info.get("level", 1))  # ⚠️ 없으면 1로 안전 반환

안전한 프로그래밍을 위한 체크리스트

평가 항목실천 가이드라인
들여쓰기 통일스페이스바 4칸 규칙으로 전체 정렬 통일 준수 여부 확인
2중 루프 해제break 작동 시 플래그 변수를 설정하여 바깥까지 해제
변수 초기화누적합 변수는 루프 시작 직전(바깥)에 정확히 선언
ESC — 수업으로 돌아가기  ·  F — 전체화면