鱼C论坛

 找回密码
 立即注册
查看: 2464|回复: 8

[已解决]鱼大在022说递规归时可以用lambda来说明吗?

[复制链接]
发表于 2016-11-13 21:27:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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
最佳答案
2016-11-13 23:13:53
本帖最后由 jerryxjr1220 于 2016-11-13 23:20 编辑

看个简单的例子,1+2+3+...+n

  1. g=lambda x: x+g(x-1) if x>0 else 0
  2. print (g(10))
复制代码

这个是lambda的递归

你的程序是lambda的嵌套
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-13 23:13:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jerryxjr1220 于 2016-11-13 23:20 编辑

看个简单的例子,1+2+3+...+n

  1. g=lambda x: x+g(x-1) if x>0 else 0
  2. print (g(10))
复制代码

这个是lambda的递归

你的程序是lambda的嵌套

评分

参与人数 1荣誉 +20 鱼币 +20 贡献 +10 收起 理由
hldh214 + 20 + 20 + 10 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 10:00:50 | 显示全部楼层
  1. a=lambda x: x*a(x-1) if x>1 else 1

  2. c=int (input('请输入一个正整数:'))

  3. print('%d的阶乘为:%d'%(c,a(c)))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 13:56:48 | 显示全部楼层

连加和阶乘是一个意思啦,让楼主自己思考比较好^_^
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 14:57:17 | 显示全部楼层
jerryxjr1220 发表于 2016-11-14 13:56
连加和阶乘是一个意思啦,让楼主自己思考比较好^_^

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-14 15:22:34 | 显示全部楼层
jerryxjr1220 发表于 2016-11-13 23:13
看个简单的例子,1+2+3+...+n

这个是lambda的递归

对不起,我不太懂什么叫嵌套的意思。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 16:19:22 From FishC Mobile | 显示全部楼层
嵌套就是函数里面套函数,lambda里面套lambda
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-14 16:20:44 | 显示全部楼层
jerryxjr1220 发表于 2016-11-14 16:19
嵌套就是函数里面套函数,lambda里面套lambda


谢谢您的讲解,感谢您!
嵌套也能写出阶乘的方式吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-14 17:23:19 From FishC Mobile | 显示全部楼层
可以啊。如果函数中嵌套的函数是自己本身,那就是递归
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-23 22:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表