papapalongtime 发表于 2021-1-22 21:45:19

递归函数的问题

>>> import numpy as np
>>> np.__version__
'1.17.0'
>>> np.hypot(3,4)
5.0
>>> def factorial(n): # 计算n的阶乘
        if n == 0: # 递归出口
                return 1
        return n*factorial(n-1) # 向递归出口方向靠近的自身调用

>>> factorial(5)
120
>>> _*2-100
140

倒数第二行这个是什么意思

永恒的蓝色梦想 发表于 2021-1-22 22:07:13

_ 指的就是上一次返回的结果,这里就是 factorial(5)

papapalongtime 发表于 2021-1-22 22:41:54

永恒的蓝色梦想 发表于 2021-1-22 22:07
_ 指的就是上一次返回的结果,这里就是 factorial(5)

为什么结果是140 啊

°蓝鲤歌蓝 发表于 2021-1-22 23:21:04

papapalongtime 发表于 2021-1-22 22:41
为什么结果是140 啊

120 * 2 - 100= 140
有什么问题吗?

逃兵 发表于 2021-1-23 09:46:28

上次运算factorial(5)的结果是120
所以 _ = 120
_*2-100 = 120*2-100
=140

永恒的蓝色梦想 发表于 2021-1-23 21:24:59

papapalongtime 发表于 2021-1-22 22:41
为什么结果是140 啊

120 * 2 -100 = 240 - 100 = 140

洋洋痒 发表于 2021-1-23 23:00:29

永恒的蓝色梦想 发表于 2021-1-22 22:07
_ 指的就是上一次返回的结果,这里就是 factorial(5)

这个是哪里都可以用的吗,还是在什么特定模式下才可以
_ 指的就是上一次返回的结果

永恒的蓝色梦想 发表于 2021-1-24 21:14:51

洋洋痒 发表于 2021-1-23 23:00
这个是哪里都可以用的吗,还是在什么特定模式下才可以
_ 指的就是上一次返回的结果

只有交互式可以用(IDLE 就是一个交互式的模式)

洋洋痒 发表于 2021-1-24 22:38:22

永恒的蓝色梦想 发表于 2021-1-24 21:14
只有交互式可以用(IDLE 就是一个交互式的模式)

好的,。谢谢昨天百度了好久都没有查到什么意思
页: [1]
查看完整版本: 递归函数的问题