鱼C论坛

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

[已解决]21讲 第6题 怎么变换成普通函数

[复制链接]
发表于 2017-3-9 17:13:23 | 显示全部楼层 |阅读模式

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

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

x
  1. def make_repeat(n):
  2.         return lambda s : s * n

  3. double = make_repeat(2)
  4. print(double(8))
  5. print(double('FishC'))
复制代码


我是这样变的,为啥错了呢?

  1. def make_repeat(n):
  2.         def a(s):
  3.                 return s*n
  4.         a()
复制代码




最佳答案
2017-3-9 17:33:38
smallhu 发表于 2017-3-9 17:20
还是不对啊  结果如下
  1. def make_repeat(n):
  2.         def a(s):
  3.                 return s*n
  4.         return a(2)
  5. g = make_repeat
  6. print(g(8))
  7. print(g('FishC'))
复制代码

你理解一下
还不懂我再跟你详细解释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-9 17:14:21 | 显示全部楼层
本帖最后由 lumber2388779 于 2017-3-9 17:16 编辑

因为你定义的时候是a(s)
而使用的时候是a() 缺少了参数,正确应该是要a(1)这样
按照你的题意的话改成普通函数是需要两个参数的
应该是def make_repeat(n,m):
其他地方还需要修改,自己再思考下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-9 17:20:25 | 显示全部楼层
lumber2388779 发表于 2017-3-9 17:14
因为你定义的时候是a(s)
而使用的时候是a() 缺少了参数,正确应该是要a(1)这样
按照你的题意的话改成普通 ...

还是不对啊  结果如下

  1. >>> g=make_repeat(2)
  2. >>> type(g)
  3. <class 'NoneType'>
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-9 17:33:38 | 显示全部楼层    本楼为最佳答案   
smallhu 发表于 2017-3-9 17:20
还是不对啊  结果如下
  1. def make_repeat(n):
  2.         def a(s):
  3.                 return s*n
  4.         return a(2)
  5. g = make_repeat
  6. print(g(8))
  7. print(g('FishC'))
复制代码

你理解一下
还不懂我再跟你详细解释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-9 18:15:04 | 显示全部楼层
lumber2388779 发表于 2017-3-9 17:33
你理解一下
还不懂我再跟你详细解释

使用a()时,必须是
return  a(n)  
为啥必须得有参数n呢?

还是很迷糊  劳烦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-9 18:23:41 | 显示全部楼层
smallhu 发表于 2017-3-9 18:15
使用a()时,必须是
return  a(n)  
为啥必须得有参数n呢?

因为你定义的时候是a(s)就代表有参数,那么使用的时候就必须一致a(n)加上参数
如果你定义时候是a()那么使用的时候就不需要了 只需要a()就可以了
还有其他疑问吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-9 18:43:26 From FishC Mobile | 显示全部楼层
我再消化消化,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-9 21:45:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-9 21:54:33 | 显示全部楼层
就是一定要把参数带上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 13:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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