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-04 05:49:55 +08:00
为什么我把 Lambda x:x 换成 myprint 也不行……
|
2
whalegia 2014-12-04 06:51:44 +08:00
我觉得啊,我觉得,这个其实没问题,阶乘其实算出来了,只不过没有传出来。
你试试设置一个全局变量,然后在 n==0 的情况下把计算结果赋值给全局变量,答案就出来了。。。 |
6
segmentfault 2014-12-04 11:11:14 +08:00
不来我站提问 (๑°3°๑) sf.gg
|
7
liprais 2014-12-04 12:01:30 +08:00
@segmentfault 这种无耻倒流量的方式真的很讨厌
|
8
luoyou1014 2014-12-04 12:30:48 +08:00
@liprais 这有什么无耻的。
|
9
233 2014-12-05 00:10:20 +08:00
@segmentfault 哈哈哈哈,别卖萌
|