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 
                    
                    F281M6Dh8DXpD1g2      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 哈哈哈哈,别卖萌 
                 |