效果图
人狠话不多直接上代码
直接复制粘贴到你的编辑器,运行即可.
#使用turtle库
import turtle
#设置屏幕大小
screen = turtle.Screen()
screen.setup(800,800)
#获取圆形画笔,设置属性,画红色的圆
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
#圣诞树绿色部分总共1-16层
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()
#第4、8、12、16层画红色小球
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
#每3、7、11、15层画黄色小球
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()
|