使用turtle模块绘制正方形和五角星
import turtle
def doSquare():
turtle.pensize(3)
turtle.pencolor("green")
for i in range(4):
turtle.forward(100)
turtle.left(90)
def doPentastar():
turtle.goto(200,70)
turtle.pensize(5)
turtle.pencolor("red")
for i in range(5):
turtle.forward(150)
turtle.right(144)
doSquare()
doPentastar()
turtle.done()
绘制效果:
使用turtle模块绘制二叉树
import turtle
import random
import math
def doTree(layer):
"""
绘制二叉树
:param layer: 二叉树的层数
:return:
"""
turtle.pensize(3)
turtle.pencolor("green")
len = layer * 8
turtle.forward(len)
if layer > 0:
# 左子树向左倾斜角度
left_angle = 15 + 20 * math.sqrt(random.random())
turtle.left(left_angle)
doTree(layer-1)
# 左子树和右子树之间的角度
right_angle = 30 + 40 * math.sqrt(random.random())
turtle.right(right_angle)
doTree(layer - 1)
# 绘制完左右子树角度还原,原路返回
turtle.left(right_angle - left_angle)
turtle.backward(len)
else:
turtle.pencolor("red")
turtle.circle(2)
turtle.pencolor("green")
turtle.left(90)
turtle.speed(0)
turtle.backward(72)
doTree(9)
turtle.done()
绘制效果: