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
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
|
whalegiaDec 4, 2014
1
为什么我把 Lambda x:x 换成 myprint 也不行……
|
|
whalegiaDec 4, 2014
2
我觉得啊,我觉得,这个其实没问题,阶乘其实算出来了,只不过没有传出来。
你试试设置一个全局变量,然后在 n==0 的情况下把计算结果赋值给全局变量,答案就出来了。。。 |
|
segmentfaultDec 4, 2014
6
不来我站提问 (๑°3°๑) sf.gg
|
|
F281M6Dh8DXpD1g2Dec 4, 2014
7
@segmentfault 这种无耻倒流量的方式真的很讨厌
|
|
luoyou1014Dec 4, 2014
8
@liprais 这有什么无耻的。
|
|
233Dec 5, 2014
9
@segmentfault 哈哈哈哈,别卖萌
|