如何用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)

成果:

感兴趣的话就连忙尝试一下吧!