강의로 돌아가기
양정구

turtle 함수 오류

import turtle
import random

Shape = 0
Rectangle = 0

class Shape :
    myTurtle = None
    cx, cy = 0, 0

    def __init__(self):
        self.myTurtle = turtle.Turtle("turtle")

    def setPen(self):
        r = random.random()
        g = random.random()
        b = random.random()
        self.myTurtle.pencolor((r,g,b))
        pSize = random.randrange(1,10)
        self.myTurtle.pensize(pSize)

    def drawShape(self):
        pass

class Rectangle(Shape):
    width, height = 0,0
    def __init__(self, x, y):
        self.shape.__init__(self)
        self.cx = x
        self.cy = y
        self.width = random.randrange(20, 100)
        self.height = random.randrange(20, 100)

    def drawShape(self):
        sx1, sy1, sx2, sy2 = 0, 0, 0, 0

        sx1 = self.cx - self.width/2
        sy1 = self.cy - self.height/2
        sx2 = self.cx + self.width/2
        sy2 = self.cy + self.height/2

        self.setPen()
        self.myTurtle.penup()
        self.myTurtle.goto(sx1, sy1)
        self.myTurtle.pendown()
        self.myTurtle.goto(sx1, sy2)
        self.myTurtle.goto(sx2, sy2)
        self.myTurtle.goto(sx2, sy1)
        self.myTurtle.goto(sx1, sy1)

    def screenLeftClick(x,y):
        rect = Rectangle(x, y)
        rect.drawShape()

    turtle.title('거북이로 객체지향 사각형 그리기')
    turtle.onscreenclick(screenLeftClick,1)
    turtle.done()

안되네요.. 어디서 오류가 뜨는걸까요..

1 개의 답변
Demi

안녕하세요. 많이 답답하실 것 같네요.
코드 자체는 실행하는데 이상이 없는 것 같습니다.
그럼에도 이 글을 올리신 건, 코드가 원하는대로 동작하지 않아서겠지요?
좀더 구체적으로 질문을 작성하시면 저희가 답변할 수 있을 것 같습니다.

예를 들어 나는 AA를 하면 BB가 될 줄 알았는데 CC가 된다거나, 오류메세지를 적어주시면 좋겠습니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.