def fact(k, n):
if n == 0:
k(1)
else:
return fact(lambda r: k(r * n), n - 1)
>>> a = fact(lambda x: x, 10)
a应该是那个10!数字的, 现在a不知道是什么。
把lambda x: x换成myprint的话到可以。其中
def myprint(x):
print x
1
whalegia 2014 年 12 月 4 日
为什么我把 Lambda x:x 换成 myprint 也不行……
|
2
whalegia 2014 年 12 月 4 日
我觉得啊,我觉得,这个其实没问题,阶乘其实算出来了,只不过没有传出来。
你试试设置一个全局变量,然后在 n==0 的情况下把计算结果赋值给全局变量,答案就出来了。。。 |
6
segmentfault 2014 年 12 月 4 日
不来我站提问 (๑°3°๑) sf.gg
|
7
F281M6Dh8DXpD1g2 2014 年 12 月 4 日
@segmentfault 这种无耻倒流量的方式真的很讨厌
|
8
luoyou1014 2014 年 12 月 4 日
@liprais 这有什么无耻的。
|
9
233 2014 年 12 月 5 日
@segmentfault 哈哈哈哈,别卖萌
|