当前位置 主页 > 网站技术 > 代码类 >

    使用turtle绘制五角星、分形树

    栏目:代码类 时间:2019-10-10 18:04

    本文实例为大家分享了使用turtle绘制五角星和分形树的具体代码,供大家参考,具体内容如下

    turtle 库

    与之前程序的区别:

    没有显示的input()与output() 没有赋值语句 大部分语句为<a>.<b>()的形式

    表示使用<a>中的方法<b>()
    调用函数库<a>中的函数<b>()

    形状绘制函数:

    turtle.forward(distance)
    画笔向前移动distance距离

    turtle.backward(distance)
    画笔向后移动distance距离

    turtle.right(dgree)
    绘制方向向右旋转dgree度

    turtle.exitonclick()
    点击关闭图形窗口

    画笔控制函数:

    turtle.penup()抬起画笔,之后移动画笔不绘制

    turtle.pendown()落下画笔,之后移动画笔绘制形状

    turtle.pensize()设置画笔宽度

    turtle.pencolor()设置画笔颜色,常用的颜色:
    white,black,grey,darkgreen,vilot,purple

    详细API请参考

    功能一:

    五角星的绘制

    """
     作者:陈洁
     功能:五角星的绘制
     版本:1.0
     日期:04/10/2019
    """
    import turtle
    
    def main():
     """
     主函数
     """
     #计数器
     count = 1
     while count<=5:
     turtle.forward(100)
     turtle.right(144)
     count += 1
     turtle.exitonclick()
    
    if __name__ == '__main__':
     main()

    遇到困难:

    混淆if条件函数与while循环函数

    功能二:

    加入循环操作绘制重复不同大小的五角星

    """
     作者:陈洁
     功能:五角星的绘制
     版本:2.0
     日期:04/10/2019
     新增功能:加入循环操作绘制重复不同大小的五角星
    """
    import turtle
    
    
    def draw_pentagram(size):
     """
     绘制五角星
     """
     # 计数器
     count = 1
     # 绘制五角星
     while count <= 5:
     turtle.forward(size)
     turtle.right(144)
     count += 1
    
    def main():
     """
     主函数
     """
    
     turtle.penup()
     turtle.backward(200)
     turtle.pendown()
     turtle.pensize(2)
     turtle.pencolor('red')
    
     size = 50
    
     while size<=100:
     #调用函数
     draw_pentagram(size)
     size += 10
    
     turtle.exitonclick()
    
    
    if __name__ == '__main__':
     main()

    功能三:

    使用迭代函数绘制重复不同大小的五角星

    注意:设置条件语句if size <= 100: draw_recursive_pentagram(size)

    """
     作者:陈洁
     功能:五角星的绘制
     版本:3.0
     日期:04/10/2019
     新增功能:使用迭代函数绘制重复不同大小的五角星
    """
    import turtle
    def draw_pentagram(size):
     """
     绘制五角星
     """
    def draw_recursive_pentagram(size):
     """
     迭代绘制五角星
     """
     # 计数器
     count = 1
     # 绘制五角星
     while count <= 5:
     turtle.forward(size)
     turtle.right(144)
     count += 1
     #五角星绘制完成,更新参数
     size += 10
     if size <= 100:
     draw_recursive_pentagram(size)
    def main():
     """
     主函数
     """
     turtle.penup()
     turtle.backward(200)
     turtle.pendown()
     turtle.pensize(2)
     turtle.pencolor('red')
     size = 50
     draw_recursive_pentagram(size)
    if __name__ == '__main__':
     main()

    功能四:用迭代函数绘制分形树

    """
     作者:陈洁
     功能:分形树
     版本:1.0
     日期:04/10/2019
     新增功能:使用迭代函数绘制分形树
    """
    import turtle
    def draw_branch (branch_length):
     """
     绘制分形树
     """
     if branch_length >5:
     #绘制右侧树枝
     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.right(20)
     print('右转',20)
     turtle.backward(branch_length)
    def main():
     """
     主函数
     """
     turtle.left(90)
     turtle.penup()
     turtle.backward(150)
     turtle.pendown()
     draw_branch(100)
     turtle.exitonclick()
    if __name__ == '__main__':
     main()