一、绘制五角星
- 引入turtle库
'''
作者:兰兰兰
功能:五角星绘制
版本:1.0
日期:02/09/2018
'''
import turtle
def main ():
'''
主函数
'''
i = 1
while i <= 5:
turtle.forward(50)
turtle.right(144)
i = i+1
turtle.exitonclick()
if __name__ == "__main__":
main()
- Turtle库函数
Turtle.forward(x) 向前划x
Turtle.backward(x)
Turtle.right(x) 向右转x°
Turtle.left(x)
Turtle.exitonclick() 点击关闭画布
Turtle.penup() 抬起画笔
Turtle.pendown() 放下画笔
Turtle.pencolor(‘s’) 画笔颜色,参数为字符串
二、重复绘制不同大小的五角星(递归函数)
- 使用迭代函数
'''
作者:兰兰兰
功能:五角星绘制
版本:2.0
日期:02/10/2018
2.0新增功能:用迭代函数绘制重复不同大小的五角星
'''
import turtle
def draw_pentagon_pentagram(size):
# 绘制五角星
# 计数器
i = 1
while i <= 5:
turtle.forward(size)
turtle.right(144)
i = i + 1
if size <= 200:
size += 20
draw_pentagon_pentagram(size)
def main ():
'''
主函数
'''
turtle.penup()
turtle.backward(100)
turtle.pendown()
turtle.pensize(1.5)
turtle.pencolor('yellow')
size = 50
#绘制五角星
draw_pentagon_pentagram(size)
turtle.exitonclick()
if __name__ == "__main__":
main()
- 递归函数
在函数中调用本身的方式,达到终止条件,各层逐层结束运算
三、分形树的绘制
- 使用递归函数绘制分形树
'''
作者:兰兰兰
功能:利用递归函数分形树绘制
版本:1.0
日期:02/11/2018
'''
import turtle
def draw_branch(branch_length):
'''
绘制分形树
'''
if branch_length >=5:
# 设置树梢为绿色,树干为棕色
if (branch_length-15) <= 5:
turtle.pencolor('green')
else:
turtle.pencolor('brown')
#绘制右侧树枝
turtle.pendown()
turtle.forward(branch_length)
print('向前',branch_length)
turtle.right(20)
print('向右转20度')
draw_branch(branch_length-15)
#绘制左侧树枝
turtle.left(40)
print('向左转40度')
draw_branch(branch_length-15)
#返回之前的树枝
turtle.penup()
turtle.rt(20)
print('向右转20度')
turtle.backward(branch_length)
print('向后',branch_length)
def main():
'''
主函数
'''
#画笔粗细
turtle.pensize(2)
#初始位置
turtle.left(90)
turtle.penup()
turtle.backward(100)
turtle.pendown()
#调用函数绘制分形树
draw_branch(100)
turtle.exitonclick()
if __name__ == '__main__':
main()