|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是鱼大的板本:
def a(n):
c = n
for i in range(1, n):
c *= i
return c
b = int(input('請輸入一個正整數'))
c = a(b)
print("%d 的階乘是:%d" % (b, c))
这是小弟的上网找的版本:
a = lambda x: lambda y: y(lambda: x(x)(y))
b = a(a)
f0 = lambda self: lambda n: n==0 and 1 or n*self()(n-1)
c = int(input('請輸入一個正整數:'))
f = b(f0)
print('%d的到的階層是:%d' % (f,c))
问题:
最后的输出值%d,我一直都无法让他自动输出,其问有人能帮我改进解答吗?
我只是一个菜鸟,谢谢!,,T
本帖最后由 jerryxjr1220 于 2016-11-13 23:20 编辑
看个简单的例子,1+2+3+...+n
- g=lambda x: x+g(x-1) if x>0 else 0
- print (g(10))
复制代码
这个是lambda的递归
你的程序是lambda的嵌套
|
|