怎么用python画圣诞树
导读:本文共2621字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 如何用python画一个圣诞树呢?Turtle库来画圣诞树。1.方块圣诞树importturtlescreen=turtle.Screen()screen.setup(375,700)circle=turtle.Turtle()circle.shape('circle')circle.color('red')circl... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。如何用python画一个圣诞树呢?
Turtle库来画圣诞树。
1.方块圣诞树
importturtlescreen=turtle.Screen()screen.setup(375,700)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=0foriinrange(1,13):y=30*iforjinrange(i-k):x=30*jsquare.goto(x,-y+280)square.stamp()square.goto(-x,-y+280)square.stamp()ifi%4==0:x=30*(j+1)circle.color('red')circle.goto(-x,-y+280)circle.stamp()circle.goto(x,-y+280)circle.stamp()k+=3ifi%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')foriinrange(13,17):y=30*iforjinrange(2):x=30*jsquare.goto(x,-y+280)square.stamp()square.goto(-x,-y+280)square.stamp()
2.线条圣诞树
importturtle#定义圣诞树的绿叶函数deftree(d,s):ifd<=0:returnturtle.forward(s)tree(d-1,s*.8)turtle.right(120)tree(d-3,s*.5)turtle.right(120)tree(d-3,s*.5)turtle.right(120)turtle.backward(s)n=100"""设置绘图速度'fastest':0'fast':10'normal':6'slow':3'slowest':1"""turtle.speed('fastest')#设置速度turtle.left(90)turtle.forward(3*n)turtle.color("orange","yellow")turtle.left(126)#turtle.begin_fill()foriinrange(5):turtle.forward(n/5)turtle.right(144)turtle.forward(n/5)turtle.left(72)turtle.end_fill()turtle.right(126)turtle.color("darkgreen")turtle.backward(n*4.8)#执行函数tree(15,n)turtle.backward(n/5)
3.豪华圣诞树
importturtleast#as就是取个别名,后续调用的t都是turtlefromturtleimport*importrandomasrimporttimen=100.0speed("fastest")#定义速度screensize(bg='black')#定义背景颜色,可以自己换颜色left(90)forward(3*n)color("orange","yellow")#定义最上端星星的颜色,外圈是orange,内部是yellowbegin_fill()left(126)foriinrange(5):#画五角星forward(n/5)right(144)#五角星的角度forward(n/5)left(72)#继续换角度end_fill()right(126)defdrawlight():#定义画彩灯的方法ifr.randint(0,30)==0:#如果觉得彩灯太多,可以把取值范围加大一些,对应的灯就会少一些color('tomato')#定义第一种颜色circle(6)#定义彩灯大小elifr.randint(0,30)==1:color('orange')#定义第二种颜色circle(3)#定义彩灯大小else:color('darkgreen')#其余的随机数情况下画空的树枝color("darkgreen")#定义树枝的颜色backward(n*4.8)deftree(d,s):#开始画树ifd<=0:returnforward(s)tree(d-1,s*.8)right(120)tree(d-3,s*.5)drawlight()#同时调用小彩灯的方法right(120)tree(d-3,s*.5)right(120)backward(s)tree(15,n)backward(n/2)foriinrange(200):#循环画最底端的小装饰a=200-400*r.random()b=10-20*r.random()up()forward(b)left(90)forward(a)down()ifr.randint(0,1)==0:color('tomato')else:color('wheat')circle(2)up()backward(a)right(90)backward(b)t.color("darkred","red")#定义字体颜色t.write("MerryChristmas",align="center",font=("ComicSansMS",40,"bold"))#定义文字、位置、字体、大小defdrawsnow():#定义画雪花的方法t.ht()#隐藏笔头,ht=hideturtlet.pensize(2)#定义笔头大小foriinrange(200):#画多少雪花t.pencolor("white")#定义画笔颜色为白色,其实就是雪花为白色t.pu()#提笔,pu=penupt.setx(r.randint(-350,350))#定义x坐标,随机从-350到350之间选择t.sety(r.randint(-100,350))#定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始t.pd()#落笔,pd=pendowndens=6#雪花瓣数设为6snowsize=r.randint(1,10)#定义雪花大小forjinrange(dens):#就是6,那就是画5次,也就是一个雪花五角星#t.forward(int(snowsize))#int()取整数t.fd(int(snowsize))t.backward(int(snowsize))#t.bd(int(snowsize))#注意没有bd=backward,但有fd=forward,小bugt.right(int(360/dens))#转动角度drawsnow()#调用画雪花的方法t.done()#完成,否则会直接关闭
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
怎么用python画圣诞树的详细内容,希望对您有所帮助,信息来源于网络。