python中的if语句不满足条件还会执行里面的语句吗?

chenfeng666 2018-11-25 02:58:11
import turtle
def draw_branch(branch_length):

if branch_length > 5:
turtle.forward(branch_length)
turtle.right(20)
draw_branch(branch_length-15)
turtle.left(40)
draw_branch(branch_length-15)
turtle.right(20)
turtle.backward(branch_length)
代码如上所示,为什么当树枝长度为-5时还是会跳进去执行 turtle.left(40)
...全文
1365 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
温馥源很努力 2019-01-25
  • 打赏
  • 举报
回复
"branch_length = -5"的时候确实是不会执行后续的操作,但是在这之前不同的"branch_length"值(10 25 40 55...)已经进了if语句,只不过因为你之前有一个递归"draw_branch(branch_length-15)",所以相当于在"branch_length"值为-5之前所有"branch_length"值都没有进行从"turtle.left(40)"开始的后续运行。递归函数虽然停止了,但是之前的函数还要继续执行的,相当于是在执行"branch_length"值是10的时候下面的内容,你单步调试一下就会发现"branch_length"值的变化了。

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧