用turtle绘制五角星、分形树

turtle 库

与之前程序的区别:

形状绘制函数:

"""
    作者:陈洁
    功能:五角星的绘制
    版本: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()

你可能感兴趣的:(用turtle绘制五角星、分形树)