파이썬 turtle 로 하트모양 만들기

조회수 1468회

이미지

여기 나와 있는데로 해서 이 하트 모양을 만들어야 하는데 잘 안되네요. 파이썬 잘 하시는 분 계시면 도와주세요.

import turtle

turtle.colormode(255)
turtle.color(255, 255, 0)

tess = turtle.Turtle()
tess.shape("turtle")
tess.backward(100)

for i in range(0, 100, 5):
    tess.penup()
    tess.goto(i, 50)
    tess.pendown()
    tess.begin_fill()
    tess.color("yellow")
    tess.circle(i)
    tess.end_fill()

    tess.penup()
    tess.goto(-i, 50)
    tess.pendown()
    tess.begin_fill()
    tess.color("red")
    tess.circle(i)
    tess.end_fill()

해봤는데 모양이 안나와요. 밑에 빨간색은 참고 하라고 보여주신 거에요.

# A program that demonstrates the shaeds of red
# Fall 2017

import turtle               # Import the turtle package

turtle.colormode(255)       # Allows colors to be given as 0..255
tess = turtle.Turtle()      # Create a turtle
tess.shape("turtle")        # Make it turtle shaped
tess.backward(100)          # Move her backwards, to give more space to draw

# For 0, 10, 20, ..., 250
for i in range(0, 255, 10):
    tess.forward(10)        # Move forward
    tess.pensize(i)         # Set the drawing size to be i (larger each time)
    tess.color(i, 0, 0)     # Set the red channel to be i (brighter each time)

이미지

1 답변

  • 심심해서 해 봤어요.

    1. 질문자분이 시도한 방향의 코드

    import turtle
    
    
    def main():
        turtle.colormode(255)
        turtle.color(255, 255, 0)
    
        tess = turtle.Turtle()
        tess.shape("turtle")
        # tess.backward(100)
    
        for i in range(0, 100, 4):
            c = i * 255 // 100
            y = i // 2
            tess.penup()
            tess.goto(4 + i, y)
            tess.pendown()
            tess.begin_fill()
            tess.color(c, c, 0)
            tess.circle(i)
            tess.end_fill()
    
            tess.penup()
            tess.goto(-i, y)
            tess.pendown()
            tess.begin_fill()
            tess.color(c, c, 0)
            tess.circle(i)
            tess.end_fill()
    
        input()
    
    
    if __name__ == "__main__":
        main()
    

    2. 문제가 아마도 의도했을 코드

    import turtle               # Import the turtle package
    
    turtle.colormode(255)       # Allows colors to be given as 0..255
    tess = turtle.Turtle()      # Create a turtle
    tess.shape("turtle")        # Make it turtle shaped
    
    tess.left(90)
    tess.penup()
    tess.backward(200) 
    tess.pendown()
    tess.right(30)
    
    # For 0, 10, 20, ..., 250
    for i in range(0, 255, 10):
        tess.forward(10)        # Move forward
        tess.pensize(i)         # Set the drawing size to be i (larger each time)
        tess.color(i, i, 0)     # Set the red channel to be i (brighter each time)
    
    tess.penup()
    tess.pensize(0)
    tess.color(0, 0, 0)
    for i in range(0, 255, 10):
        tess.backward(10) 
    
    tess.left(60)
    tess.pendown()
    for i in range(0, 255, 10):
        tess.forward(10)        
        tess.pensize(i)         
        tess.color(i, i, 0)  
    input()    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)