如何用Python画一个圣诞树呢?
最简略:
1height = 523stars = 14for i in range(height):5 print((' ' * (height - i)) + ('*' * stars))6 stars += 27print((' ' * height) + '|')
成果:
哈哈哈哈,总有一种骗了大家的感觉。
其实本文是想介绍Turtle库来画圣诞树。
办法一:
1import turtle 2screen = turtle.Screen() 3screen.setup(800,600) 4circle = turtle.Turtle() 5circle.shape('circle') 6circle.color('red') 7circle.speed('fastest') 8circle.up() 9square = turtle.Turtle()10square.shape('square')11square.color('green')12square.speed('fastest')13square.up()14circle.goto(0,280)15circle.stamp()16k = 017for i in range(1, 17):18 y = 30*i19 for j in range(i-k):20 x = 30*j21 square.goto(x,-y+280)22 square.stamp()23 square.goto(-x,-y+280)24 square.stamp()25 if i % 4 == 0:26 x = 30*(j+1)27 circle.color('red')28 circle.goto(-x,-y+280)29 circle.stamp()30 circle.goto(x,-y+280)31 circle.stamp()32 k += 233 if i % 4 == 3:34 x = 30*(j+1)35 circle.color('yellow')36 circle.goto(-x,-y+280)37 circle.stamp()38 circle.goto(x,-y+280)39 circle.stamp()40square.color('brown')41for i in range(17,20):42 y = 30*i43 for j in range(3):44 x = 30*j45 square.goto(x,-y+280)46 square.stamp()47 square.goto(-x,-y+280)48 square.stamp()49turtle.exitonclick()
成果:
办法二:
1from turtle import * 2import random 3import time 4 5n = 80.0 6 7speed("fastest") 8screensize(bg='seashell') 9left(90)10forward(3*n)11color("orange", "yellow")12begin_fill()13left(126)1415for i in range(5):16 forward(n/5)17 right(144)18 forward(n/5)19 left(72)20end_fill()21right(126)2223color("dark green")24backward(n*4.8)25def tree(d, s):26 if d <= 0: return27 forward(s)28 tree(d-1, s*.8)29 right(120)30 tree(d-3, s*.5)31 right(120)32 tree(d-3, s*.5)33 right(120)34 backward(s)35tree(15, n)36backward(n/2)3738for i in range(200):39 a = 200 - 400 * random.random()40 b = 10 - 20 * random.random()41 up()42 forward(b)43 left(90)44 forward(a)45 down()46 if random.randint(0, 1) == 0:47 color('tomato')48 else:49 color('wheat')50 circle(2)51 up()52 backward(a)53 right(90)54 backward(b)55time.sleep(60)
成果:
感兴趣的话就连忙尝试一下吧!