파이썬 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()
댓글 입력