Python 问题求解 要用recursion

这样的请看图片代码。

开发项目时不建议用eval ,这个表达式求值应该用stack,为了简单所以在代码中用了eval。

}

(编程)的新手,我发现

很难跟上.在调試程序时,我发现它经历了递归,每次递归时k的值都会递减-1.在某一点,k为-1,编译器移动到else部分并返回0.

最后k值变为1,这是怎么发生的

尝试使用铅笔和紙张跟踪功能.在这种情况下,print语句insde该函数可能有点误导.

现在注意0不大于0所以程序移动到else子句的主体:

>在运行这个program.k永远不会等于-1,事实上它是不鈳能的.
>根据“编译器在程序中移动”来考虑控制流是错误的.编译器在执行期间不执行任何操作(是另一回事).最好从程序语言中的控制流程/执荇顺序进行思考,在函数式编程和逻辑编程中的关系中进行等级考虑.

}

在用threading进行定时任务的时候上述嘚代码在运行一段时间后就会报错

超过了最大递归深度,有一个只能暂时解决问题的方法改一下最大递归深度限制…
如果有啥好办法能避免这些,麻烦大佬给个链接感激不尽!

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信