找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 53|回复: 1

[求助] Python小白求助,分形树程序疑问

1

主题

2

帖子

2

积分

贫民

积分
2
Kileo 发表于 2019-11-30 21:24:24 | 显示全部楼层 |阅读模式

小白求助,迭代函数draw_branch(),branch_length在向右转的迭代过程中不符合条件 branch_length >5时(branch_length=-5),在进入向左转的迭代过程中,branch_length为什么又会返回到10?


代码如下,谢谢大神的解答!

import turtle


def draw_branch(branch_length):
    if branch_length <= 5:
        turtle.color('green')

    if branch_length > 5:
        turtle.color('red')

        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)

        if branch_length < 25:
            turtle.color('green')
        else:
            turtle.color('brown')

        turtle.right(20)
        print('向右转20')
        turtle.backward(branch_length)
        print('向后', branch_length)


def main():
    turtle.right(90)
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.speed(1)
    turtle.pensize(5)
    draw_branch(40)

    turtle.exitonclick()


if __name__ == '__main__':
    main()
回复

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
Kileo  楼主| 发表于 2 小时前 | 显示全部楼层
没有大神可以解答一下吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表