콘텐츠로 이동

E2. 함수에 색상 추가


🎯 학습 목표

이 강의를 마치면 다음을 할 수 있어요:

  • ○ 함수에 color 매개변수를 추가할 수 있다
  • ○ 색상이 채워진 막대를 함수로 그릴 수 있다

복습: 막대 그리기 함수

이전에 만든 draw_bar() 함수를 기억하나요?

def draw_bar(t, height, width=40):
    """막대를 그리는 함수"""
    for _ in range(2):
        t.forward(height)
        t.right(90)
        t.forward(width)
        t.right(90)

이 함수에 색상 기능을 추가해볼게요!


Step by Step 색상 추가하기

Step 1: 매개변수 추가

def draw_bar(t, height, color, width=40):
    #                    ^^^^^ 새로 추가!

💡 매개변수 순서

  • t: 거북이
  • height: 막대 높이
  • color: 막대 색상 (새로 추가!)
  • width: 막대 너비 (기본값 40)

Step 2: 함수 안에 색상 코드 추가

def draw_bar(t, height, color, width=40):
    t.fillcolor(color)    # 1. 색상 설정
    t.begin_fill()        # 2. 채우기 시작

    for _ in range(2):
        t.forward(height)
        t.right(90)
        t.forward(width)
        t.right(90)

    t.end_fill()          # 3. 채우기 끝

Step 3: 함수 호출하기

# 색상 전달!
draw_bar(t, 80, "blue")   # 파란 막대
draw_bar(t, 60, "red")    # 빨간 막대

전체 코드 예제

import turtle

def draw_bar(t, height, color, width=40):
    """색이 채워진 막대를 그리는 함수"""
    t.fillcolor(color)
    t.begin_fill()

    for _ in range(2):
        t.forward(height)
        t.right(90)
        t.forward(width)
        t.right(90)

    t.end_fill()

# 메인 코드
t = turtle.Turtle()
t.shape("turtle")
t.speed(3)

t.penup()
t.goto(-50, -100)
t.pendown()
t.left(90)

# 파란색 막대 그리기!
draw_bar(t, 80, "blue")

코드 비교

색상 없는 함수 vs 색상 있는 함수

색상 없음 색상 있음
def draw_bar(t, height, width=40): def draw_bar(t, height, color, width=40):
t.fillcolor(color)
t.begin_fill()
for _ in range(2): for _ in range(2):
t.forward(height) t.forward(height)
t.right(90) t.right(90)
t.forward(width) t.forward(width)
t.right(90) t.right(90)
t.end_fill()

💡 추가된 부분

  1. 매개변수에 color 추가
  2. 함수 시작에 fillcolor(), begin_fill() 추가
  3. 함수 끝에 end_fill() 추가

🎯 미션: 따라 만들기

미션 1: 파란 막대 그리기

코드를 실행해서 파란 막대를 확인하세요!


미션 2: 색상과 높이 바꿔보기

draw_bar() 호출 부분의 색상과 높이를 바꿔보세요!

예시 답안
draw_bar(t, 100, 'red')     # 빨간 막대, 높이 100
draw_bar(t, 60, 'green')    # 초록 막대, 높이 60
draw_bar(t, 120, 'orange')  # 주황 막대, 높이 120

미션 3: 함수 완성하기

빈칸을 채워서 색상 함수를 완성하세요!

정답 확인
t.fillcolor(color)
t.begin_fill()
# ... 막대 그리기 ...
t.end_fill()

🎯 퀴즈

퀴즈: 함수 호출
draw_bar(t, 100, "red")는 어떤 막대를 그릴까요?
정답 보기

정답: B) 높이 100, 빨간색

draw_bar(t, height, color)
draw_bar(t,  100,  "red")
#            ↑       ↑
#         높이=100  색상=빨강

색상 함수 연습:

  • 매개변수 추가: def draw_bar(t, height, , width=40):
  • 색상 설정: t.fillcolor( )
  • 함수 호출: draw_bar(t, 80, )

🧩 핵심 요약

이번 강의에서 배운 내용:

개념 설명
매개변수 추가 def draw_bar(t, height, color):
색상 사용 t.fillcolor(color) - 매개변수 사용!
함수 호출 draw_bar(t, 80, "blue")

다음 강의 미리보기

다음 강의에서는 여러 개의 색상 막대를 그려봐요!

colors = ["red", "green", "blue"]
for i in range(3):
    draw_bar(t, heights[i], colors[i])