请问这个Python程序运行原理是什么,Python程序运行原理,def exp(a,b)
请问这个Python程序运行原理是什么,Python程序运行原理,def exp(a,b)
def exp(a,b): if b ==1: return a else: return a*exp(a,b-1)print exp(2,3)...8 print exp(2,4)...16
对于 return aexp(a,b-1) 这一步中,比如执行exp(2,3)是返回的是:2(2*2)吗?
可是exp明明是一个函数呀,也并没有明确是进行内部的乘法运算,有点迷糊了。(提问有点无知,望见谅)
这是递归,也就是函数自己调用自己,是一种把问题分隔简化为相似的小问题来求解的方法
其实对于结果,你单步调试一下就知道了
exp(2,3)
会被化解为
2 * exp(2, 2)
然后再被化解为
2 * 2 * exp(2, 1)
然后再被化解为(这个时候b == 1,所以走第一个if分支)
2 * 2 * 2
编橙之家文章,
相关内容
- 需要为遵守PEP8修改自己python代码吗,遵守pep8python代码
- Python利用二分法计算平方根哪里出问题了,python二分法
- 新手请教关于Flask-sqlalchemy、Flask-WTF结合查询的问题,
- Python实现批量生成字符串最佳思路是什么,python思路
- Python2.7遍历包含一个dict的tuple变量应该怎么写,python
- 实现qml+python打包成exe小程序问题,qmlpython,我写了一个
- Python在mac最常用编辑器是哪几款?,pythonmac,我先来Xcod
- Python新手求助Tornado/Cyclone RBAC修饰符编写方法,tornado
- Python实现插入排序算法遇到问题找不到原因,求大神解
- Python语言xlwt模块写excel数据报错,pythonxlwt,用python的x
评论关闭