반응형
크리스마스 하면 크리스마스 트리를 빼놓을 수 없는데 파이썬으로 크리스마스 트리를 그리면 좋을 것 같다
다음은 주요 코드 구현에 대해 살펴보겠습니다.
나무
트리의 주요 코드는 다음과 같이 구현됩니다
# 첫 번째 층을 그리다
seth(-120)
for i in range(10):
fd(12)
right(2)
penup()
goto(0, 150)
seth(-60)
pendown()
for i in range(10):
fd(12)
left(2)
seth(-150)
penup()
fd(10)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-150)
penup()
fd(8)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-155)
penup()
fd(5)
pendown()
for i in range(5):
fd(7)
right(15)
# 두 번째 층을 그리다
penup()
goto(-55, 34)
pendown()
seth(-120)
for i in range(10):
fd(8)
right(5)
penup()
goto(50, 35)
seth(-60)
pendown()
for i in range(10):
fd(8)
left(5)
seth(-120)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(12)
right(15)
penup()
fd(8)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
seth(-155)
fd(8)
pendown()
for i in range(5):
fd(11)
right(15)
......
별
오각별의 주요 코드는 다음과 같이 구현된다
pensize(2)
pencolor("yellow")
penup()
goto(x, y)
pendown()
begin_fill()
fillcolor("yellow")
for i in range(5):
left(72)
fd(size)
right(144)
fd(size)
end_fill()
모자
모자의 주요 코드는 다음과 같이 구현됩니다
penup()
goto(-30, -120)
pencolor("white")
pendown()
fillcolor("white")
begin_fill()
fd(30)
circle(4, 180)
fd(30)
circle(4, 180)
end_fill()
penup()
goto(-25, -115)
seth(75)
pendown()
fillcolor("red")
begin_fill()
for i in range(5):
fd(6)
right(20)
seth(-10)
for i in range(5):
fd(8)
right(15)
seth(145)
for i in range(5):
fd(5)
left(2)
seth(90)
for i in range(5):
fd(1)
left(2)
seth(-90)
for i in range(4):
fd(4)
right(6)
seth(161)
fd(30)
end_fill()
pensize(1)
pencolor("white")
양말
양말의 주요 코드는 다음과 같이 구현됩니다
penup()
goto(-20, 80)
pencolor("white")
pendown()
begin_fill()
fillcolor("white")
fd(25)
circle(4, 180)
fd(25)
circle(4, 180)
end_fill()
penup()
goto(-15, 80)
pendown()
begin_fill()
fillcolor("red")
seth(-120)
fd(20)
seth(150)
fd(5)
circle(7, 180)
fd(15)
circle(5, 90)
fd(30)
seth(160)
fd(18)
end_fill()
penup()
seth(0)
goto(70, -240)
리본
리본의 주요 코드는 다음과 같이 구현됩니다
penup()
pencolor("#f799e6")
goto(x, y)
seth(80)
pendown()
pensize(2)
circle(5)
seth(10)
fd(15)
seth(120)
fd(20)
seth(240)
fd(20)
seth(180)
fd(20)
seth(-60)
fd(20)
seth(50)
fd(20)
seth(-40)
fd(30)
seth(-130)
fd(5)
seth(135)
fd(30)
seth(-60)
fd(30)
seth(-150)
fd(6)
seth(110)
fd(30)
눈송이
눈내림 효과 주요 코드는 다음과 같이 구현됩니다.
screen.delay(0)
t = Turtle(visible = False,shape='circle')
t.pencolor("white")
t.fillcolor("white")
t.penup()
t.setheading(-90)
t.goto(r.randint(-width/2,width/2),height/2)
stars = []
for i in range(200):
star = t.clone()
s =r.random() / 3
star.shapesize(s,s)
star.speed(int(s*10))
star.setx(r.randint(-width/2,width/2))
star.sety(height/2 + r.randint(1,height))
star.showturtle()
stars.append(star)
while True:
for star in stars:
star.sety(star.ycor() - 8 * star.speed())
if star.ycor()<-height/2:
star.hideturtle()
star.setx(r.randint(-width/2,width/2))
star.sety(height/2 + r.randint(1,height))
star.showturtle()
반응형
'개발 꿀팁 > PYTHON' 카테고리의 다른 글
파이썬을 사용하여 멋진 QR 코드를 생성하고 해석하는 방법 (0) | 2022.11.30 |
---|---|
Python 그림 변환, 정지화면, GIF 모두 변환 가능 (0) | 2022.11.30 |
파이썬으로 생일 케이크를 그려줬어요 (0) | 2022.11.30 |
파이썬 소수점 이하 세 가지 방법 (0) | 2022.11.30 |
파이썬 벚꽃 실현 (0) | 2022.11.30 |