Merry Christmas

今天又到了圣诞节,大街小巷都响起了《Jingle Bells》,一路走来处处都装饰着圣诞树,浓浓的圣诞氛围~晚上刷公众号时偶然看到一篇用Python制作圣诞树的文章,果断敲起了代码.......
文章介绍了两种用Turtle库来制作圣诞树的方法,一是静态图二是动态图
方法一:

import turtle
screen = turtle.Screen()
screen.setup(800,600)
circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.speed('fastest')
circle.up()
square = turtle.Turtle()
square.shape('square')
square.color('green')
square.speed('fastest')
square.up()
circle.goto(0,280)
circle.stamp()
k = 0
for i in range(1,17):
  y = 30*i
  for j in range(i-k):
      x = 30*j
      square.goto(x,-y+280)
      square.stamp()
      square.goto(-x, -y + 280)
      square.stamp()
  if i % 4 == 0:
      x = 30 * (j+1)
      circle.color('red')
      circle.goto(-x, -y + 280)
      circle.stamp()
      circle.goto(x, -y + 280)
      circle.stamp()
      k += 2
  if i % 4 == 3:
      x = 30 * (j+1)
      circle.color('yellow')
      circle.goto(-x, -y + 280)
      circle.stamp()
      circle.goto(x, -y + 280)
      circle.stamp()
square.color('brown')
for i in range(17,20):
  y = 30 * i
  for j in range(3):
      x = 30 * j
      square.goto(x, -y + 280)
      square.stamp()
      square.goto(-x, -y + 280)
      square.stamp()
turtle.exitonclick()

运行后如下图


1.圣诞树.png

方法二:

import  random
import  time

n = 80.0

speed("fastest")
screensize(bg = 'seashell')
left(90)
forward(3*n)
color("orange","yellow")
begin_fill()
left(126)

for i in range(5):
    forward(n/5)
    right(144)
    forward(n/5)
    left(72)
end_fill()
right(126)

color("dark green")
backward(n*4.8)
def tree(d,s):
    if d <= 0: return
    forward(s)
    tree(d-1,s*.8)
    right(120)
    tree(d-3,s*.5)
    right(120)
    tree(d - 3, s * .5)
    right(120)
    backward(s)
tree(15,n)
backward(n/2)

for i in range(200):
    a = 200  - 400 * random.random()
    b = 10 - 20 * random.random()
    up()
    forward(b)
    left(90)
    forward(a)
    down()
    if random.randint(0,1) == 0:
        color('tomato')
    else:
        color('wheat')
        circle(2)
        up()
        backward(a)
        right(90)
        backward(b)
time.sleep(60)

运行后如下


2.圣诞树.png

“世上当然有圣诞老人,我是,你也是。现在我们睡吧,想想最安静的事物,比如雪。雪正从星星上落下。”圣诞快乐,晚安。

圣诞快乐.jpg

你可能感兴趣的:(Merry Christmas)