00차시 · 데이터 분석 전 핵심 복습 Python으로 그리는 수학과 움직임 모듈을 불러오고, 자료를 저장하고, 반복문으로 그림을 그리며, 삼각함수와 속도·중력의 원리를 직접 눈으로 확인합니다. 이후 Pandas 데이터 분석에서 반복해서 사용할 Python 기초를 정리합니다.
오늘 배우는 세 가지 핵심 직접 실행 import, 오류 해결, 자료구조, turtle 그래픽
변수를 바꿔 탐구 사인·코사인·탄젠트, 속도·중력
이해·확장 고급 그래픽의 원리와 데이터 분석 연결
교사가 2~3시간 범위에서 속도를 조정할 수 있도록 각 영역을 독립적으로 구성했습니다. 고급 구현 전체는 감상·심화이며, 기초와 핵심 계산 문제를 구분합니다.
01 · 실습 필수 import와 패키지 설치·삭제 모듈 은 Python 코드 파일 또는 기능 묶음입니다. import는 그 기능을 현재 프로그램에서 사용하도록 불러오는 명령입니다. pip 설치 는 필요한 외부 패키지를 Python 환경에 준비하는 별개 과정입니다.
설치 없이 먼저 확인할 모듈 import random
import math
import turtle
print(random.randint(1, 6))
print(math.sin(math.radians(30))) 일반적인 PC Python 환경에서 random·math·turtle은 별도 pip 설치 대상이 아닙니다. turtle에는 Tk 창을 띄울 수 있는 GUI 환경이 필요합니다.
외부 패키지 예시 import pandas as pd
import matplotlib.pyplot as plt
import pygame pandas, matplotlib, pygame은 선택한 Python 환경에 설치돼 있어야 합니다. Python 파일을 pygame.py처럼 모듈명과 똑같이 저장하면 충돌할 수 있습니다.
VS Code 터미널에서 순서대로 실행 py --version
py -m pip --version
py -m pip install pygame
py -m pip install pandas matplotlib
py -m pip show pygame
py -m pip uninstall pygame py 명령이 없는 환경 에서는 같은 명령을 python -m pip ...로 바꿔 실행합니다. macOS·Linux에서는 보통 python3 -m pip ...를 사용합니다.
에러가 나면 이렇게 진단하세요. ModuleNotFoundError: 현재 실행 중인 Python 환경에 패키지가 있는지 확인하고, VS Code 오른쪽 아래 Python 인터프리터를 선택합니다.No module named pip: 설치한 Python 환경과 pip 구성을 확인합니다.No matching distribution found: 패키지명·Python 버전·플랫폼 호환성을 확인합니다. pygame-ce는 대안 프로젝트이며 반드시 최신 버전에서 pygame이 실패한다는 뜻은 아닙니다. 필요한 경우 py -m pip install pygame-ce를 검토합니다.python is not recognized: Python 설치와 실행 경로를 확인합니다. py와 python 중 되는 명령을 사용합니다.externally-managed-environment나 권한 오류: 가상환경을 만들어 설치하는 편이 안전합니다.심화: 가상환경 만들기와 모듈 이름 충돌 py -m venv .venv
.venv\Scripts\python -m pip install pygame matplotlib pandas
# PowerShell에서는 가상환경의 python 경로를 직접 지정해도 됩니다. 프로젝트별로 서로 다른 패키지 버전을 관리하고, import pygame이 어느 인터프리터에서 실행되는지 점검합니다.
02 · 시험 핵심 리스트·튜플·딕셔너리 이해 자료구조 기호 특징 Pandas 연결 리스트 [ ]순서 있음, 항목 변경 가능 여러 관측값을 열 데이터로 사용 튜플 ( )순서 있음, 항목 변경 불가 df.shape의 (행, 열)딕셔너리 { }키와 값으로 구성 pd.DataFrame(data)
books = [3, 5, 2] # 리스트
size = (3, 2) # 튜플
student = {"name": "A", "books": 3} # 딕셔너리
print(books[0]) # 3
print(size[1]) # 2
print(student["books"]) # 3
import pandas as pd
data = {"name": ["A", "B", "C"], "books": [3, 5, 2]}
df = pd.DataFrame(data)
print(df.shape) # (3, 2) / 인덱스 열은 별도 계산 안 함
print(df["books"].mean()) 빈 튜플 ()과 원소 한 개짜리 튜플 (3,)도 구분합니다. 괄호가 보인다고 무조건 튜플은 아닙니다. (3 + 2)는 계산을 묶는 괄호입니다.
반복문·나머지·복합 대입도 함께 복습 colors = ["red", "green", "blue"]
for i in range(6):
print(i, colors[i % 3])
x = 10
x += 3 # x = x + 3
x *= 0.5 # x = x * 0.5
03 · 직접 실행 Turtle 그래픽으로 반복문과 각도 확인 아래 코드는 모두 주석을 제외한 실행 코드 입니다. 각 예제를 별도의 .py 파일로 저장해 VS Code에서 실행하세요. 코드 창의 줄은 자동으로 꺾이지 않으며, 긴 줄은 가로 스크롤로 확인할 수 있습니다.
① 무지개 원형 만다라 import turtle
turtle.bgcolor("black")
turtle.speed(0)
turtle.pensize(2)
colors = ["red", "yellow", "green", "cyan", "blue", "magenta"]
for i in range(36):
turtle.pencolor(colors[i % 6])
turtle.circle(100)
turtle.left(10)
turtle.done()36번 반복하며 원을 10도씩 회전합니다. 여섯 색은 나머지 연산으로 순서대로 바뀝니다.
② 별빛 은하수 회오리 import turtle
turtle.bgcolor("black")
turtle.speed(0)
colors = ["purple", "blue", "cyan", "green", "yellow", "orange", "red"]
for x in range(150):
turtle.pencolor(colors[x % 7])
turtle.pensize(x / 40 + 1)
turtle.forward(x * 2)
turtle.left(144)
turtle.done()이동 거리와 선 굵기가 점점 증가하고, 144도 회전으로 별 모양을 만듭니다.
③ 입체적인 사각형 착시 나선 import turtle
turtle.bgcolor("black")
turtle.speed(0)
colors = ["#33FF33", "#33FF57", "#3357FF", "#F3FF33", "#FF33F3", "#00FFFF"]
for i in range(200):
turtle.pencolor(colors[i % 6])
turtle.pensize(i // 50 + 1)
turtle.forward(i * 1.5)
turtle.right(91)
turtle.done()200번 반복하며 91도씩 회전합니다. //로 선 굵기를 단계적으로 늘립니다.
④ Turtle 선 색깔을 지정하는 두 가지 방법 Hex 색상 코드: turtle.pencolor("#FF5733") — #RRGGBB 형식으로 RGB 색을 지정합니다.
영문 색상 이름: turtle.pencolor("cyan") — Turtle에서 지원하는 색상 이름을 지정합니다.
import turtle
turtle.pencolor("#FF5733")
turtle.forward(100)
turtle.pencolor("cyan")
turtle.forward(100)
turtle.done()두 방법 모두 동일한 pencolor() 함수입니다. 위 예제는 앞 100만큼은 주황 계열 Hex 색, 다음 100만큼은 cyan으로 그립니다. Turtle의 Hex 코드는 일반적으로 #RRGGBB의 6자리로 사용합니다.
확인 활동: 세 예제에서 range(), %, //, forward(), circle(), left(), right()의 역할을 설명하고 회전 각도나 반복 횟수를 바꾸어 결과를 비교해 보세요.
04-1 · 시험 대비 심화 실습 수학 함수를 두 가지 방법으로 그래프 그리기 첨부한 실제 코드로 다항함수·지수함수·로그함수·원·사인·코사인을 그려 봅니다. math + turtle 방식과 NumPy + Matplotlib 방식을 비교하고, VS Code 원본 실습과 기말 대비 코드 해석 문제까지 이어서 학습합니다.
수학 함수 그래프 실습·평가 페이지 열기 →
05 · 실시간 실험 속도·중력·공기 저항으로 파티클 만들기 첨부한 고급 Pygame 입자 코드를 학습하기 쉬운 **좌표·속도·중력 3단계**로 단순화했습니다. 공의 움직임을 관찰한 후 코드를 보고 결과를 계산해 봅니다.
# 복잡한 클래스 없이 기본 원리만 알아봅시다.
x, y = 0, 0
vx, vy = 6, -3
for frame in range(5):
x += vx # x 좌표는 수평 속도만큼 이동
y += vy # y 좌표는 수직 속도만큼 이동
vy += 0.15 # 아래 방향 중력
vx *= 0.96 # 수평 속도 감쇠
print(frame, round(x, 2), round(y, 2)) 화면의 물리 모형은 교육용 단순화 모델입니다. 중력은 프레임마다 수직 속도를 일정량 증가시키는 가정으로 구현했습니다. 실제 중력가속도 9.8m/s²와 동일한 물리 단위가 아닙니다.
파티클 수명과 리스트 순회 life = 255
life -= 4.5
print(life) # 250.5
particles = [1, 2, 3]
for p in particles[:]: # 리스트의 복사본 순회
if p % 2 == 0:
particles.remove(p)
print(particles) # [1, 3] 게임 코드의 for _ in range(30)은 반복 횟수 30번만 필요할 때 쓰는 표기입니다. _는 특별한 키워드가 아니라 사용하지 않을 변수 이름 관례입니다.
05-1 · 단계별 원리 설명 화면 좌표계·속도·중력의 관계 수학 좌표와 화면 좌표의 차이부터 x += vx, vy += 0.15, vx *= 0.96의 의미를 한 줄씩 설명하고, 프레임별 값을 계산해 봅니다.
4단계 설명과 프레임별 계산 실습 열기 →
06 · 시연·선택 심화 첨부 고급 그래픽의 원리 이해 첨부 PDF 4~6번은 실무에서 응용되는 그래픽의 개념을 이해하기 위한 참고입니다. 그대로 따라 적게 하기보다는, 학생이 쉽게 설명할 수 있는 작은 코드로 재구성했습니다.
④ 파동: sin의 적용 import math
for x in range(0, 181, 30):
y = math.sin(math.radians(x)) * 40
print(x, round(y, 1)) 파동이 시간과 위치에 따라 변화합니다. 원본은 HTML·JavaScript 프로그램이므로 Python 파일로 실행하지 않습니다.
⑤ 입자: 방향·속도·중력 import math
angle = math.radians(30)
speed = 10
vx = math.cos(angle) * speed
vy = -math.sin(angle) * speed
print(round(vx, 2), round(vy, 2)) 한 입자의 속도를 x, y 방향으로 나눕니다. 원본은 Pygame 예제이며 이 화면의 미리보기는 브라우저 그래픽으로 별도 구현했습니다.
⑥ 오로라: 겹치는 파동 import math
x = math.radians(30)
a = math.sin(x) * 60
b = math.cos(x) * 20
print(round(a + b, 2)) 서로 다른 진폭·위상의 파동을 더하면 복합적인 움직임이 나타납니다. 원본은 Tkinter 예제입니다.
미리보기는 참고 원본의 정확한 렌더링이 아니라 같은 수학적 원리를 바탕으로 만든 학생용 교육 시뮬레이션입니다.
07 · 코드 해석 핵심 개념·코드 결과 예측 문항을 먼저 풀고 ‘채점 및 해설’을 누르세요. 필수 기초와 그래픽 심화는 구분되어 있습니다. 실제 시험 출제 범위는 학교의 최종 안내를 따릅니다.
채점·해설 확인 선택 초기화
08 · 선택 심화 · 시험범위 제외 Python 그래픽 작품 체험실 파동, 네온 파티클, 오로라, 워프 터널, 블랙홀, 로렌츠 카오스의 원본 프로그램 6개 를 자유롭게 체험해 봅니다. 웹 그래픽 2개는 사이트에서 바로 실행하고, Python 그래픽 4개는 VS Code용 원본 파일을 내려받아 실행합니다.
실습 방법: 작품 선택 → 실행 화면 확인 또는 PC에서 실행 → 원본 코드 복사·다운로드 → 삼각함수·속도·중력·반복문이 어디에 쓰였는지 관찰하기
08. 그래픽 작품 체험실 열기 →
이 영역은 진로·흥미 확장 활동으로 기말고사 시험 범위에 포함하지 않습니다. 6개 원본 파일은 내용을 수정하지 않고 제공됩니다.
영수쌤의 Python 교실 · 00. Python 핵심 복습 · 2026 · 다음 학년도에도 활용 가능한 독립 복습 자료