网站推广.NET

网站推广.NET

利用python怎么绘制圣诞树?(代码详解)

来源:互联网

利用python怎么绘制圣诞树?本篇文章就来给大家分享利用python绘制圣诞树的几种方法,并附上python圣诞树代码和运行效果图,希望对大家有帮助。

python圣诞树代码    

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行(推荐学习:Python视频教程)

立即学习“Python免费学习笔记(深入)”;

#声明树的高度height = 5#树的雪花数,初始为1stars = 1#以数的高度作为循环次数 for i in range(height):    print((' ' * (height - i)) + ('*' * stars))    stars += 2#输出树干print((' ' * height) + '|')

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码

#导入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 = 0for 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()

运行:

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码

#导入所依赖的库from turtle import *import randomimport time n = 80.0#设置速度快speed("fastest")#背景颜色 海贝壳色,偏粉色screensize(bg=&#39;seashell&#39;)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(&#39;tomato&#39;)    else:        color(&#39;wheat&#39;)    circle(2)    up()    backward(a)    right(90)    backward(b)time.sleep(60)

运行:

推荐学习:python教程

python圣诞树