|
小白求助,迭代函数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()
|
|