기말고사 대비 — 전체 핵심 알고리즘 패턴 총복습 및 디버깅 훈련
문법들이 퍼즐 조각처럼 연결되어 온전한 하나의 모듈을 이룹니다.
input() → int() 변환 후 데이터 수급if 조건 분류와 for / while 루프 구동list의 데이터 묶음과 dict 고속 검색 매칭def의 입력/출력 셋팅 및 기능별 부품화프로그램 비정상 중단을 가져오는 주범들을 디버깅합니다.
# 1. 지역 변수 소멸 에러
def calc():
res = 50
# print(res) # ⚠️ NameError 발생! (함수 밖 호출 불가)
# 2. ZeroDivisionError (0 나누기)
if cnt != 0:
avg = total / cnt
else:
avg = 0 # ⚠️ 0인 경우의 수동 값 셋팅 코드가 멈추지 않고 오작동하는 논리적 버그를 차단합니다.
# 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 작동 시 플래그 변수를 설정하여 바깥까지 해제 |
| 변수 초기화 | 누적합 변수는 루프 시작 직전(바깥)에 정확히 선언 |