找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5345|回复: 8

[求助] 迭代函数的类型总是错误

1

主题

1

帖子

7

积分

贫民

积分
7
熊正刚 发表于 2015-8-7 18:23:23 | 显示全部楼层 |阅读模式
刚学Python写了个迭代函数不知道这个类型是怎么回事,希望大神指点迷津
#!/bin/ env python
#2015/8/3
def fLB (n):
        if n == 1:
                S = 1
        if n == 2:
                S = 1
        if n > 2:
                x=2
                while x <= n:
                        x += 1
                        S = fLB( n - 1) + fLB(n - 2)
        print S
n =int(raw_input("Please input your num: "  ))
fLB (n)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
回复

使用道具 举报

0

主题

23

帖子

23

积分

贫民

积分
23
关大叔 发表于 2015-8-12 10:43:47 | 显示全部楼层
没问题,python2.7,说下你的版本
回复 支持 反对

使用道具 举报

0

主题

1

帖子

6

积分

贫民

积分
6
xuhuoren 发表于 2015-8-21 21:41:15 | 显示全部楼层
你定義的函數都沒有返回值,怎麼加運算?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

12

积分

贫民

积分
12
sharon 发表于 2015-8-27 16:17:22 | 显示全部楼层
看这样是否解决你的问题
549370BE-3AE1-4F8F-B9DA-716686C3C01E.png
回复 支持 反对

使用道具 举报

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极 发表于 2015-8-30 19:55:59 | 显示全部楼层
  1. #!/bin/ env python
  2. #2015/8/3
  3. def fLB (n):
  4.         if n == 1:
  5.                 S = 1
  6.         if n == 2:
  7.                 S = 1
  8.         if n > 2:
  9.                 x=2
  10.                 while x <= n:
  11.                         x += 1
  12.                         S = fLB( n - 1) + fLB(n - 2)
  13.         print S  #改成return S
  14. n =int(raw_input("Please input your num: "  ))
  15. fLB (n)
复制代码


函数需要有返回值return,你直接在函数里面输出,没有返回值导致报错
回复 支持 反对

使用道具 举报

0

主题

3

帖子

12

积分

贫民

积分
12
pllooo 发表于 2015-9-25 23:56:21 | 显示全部楼层
为什么加一个while循环
回复 支持 反对

使用道具 举报

0

主题

3

帖子

12

积分

贫民

积分
12
pllooo 发表于 2015-9-25 23:57:36 | 显示全部楼层
你这个函数本身就已经在循环迭代了
回复 支持 反对

使用道具 举报

0

主题

8

帖子

8

积分

贫民

积分
8
齐凡 发表于 2016-9-10 21:17:25 | 显示全部楼层
北极 发表于 2015-8-30 19:55
函数需要有返回值return,你直接在函数里面输出,没有返回值导致报错

我试了你这段代码,为什么运行还是错的呢?
回复 支持 反对

使用道具 举报

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极 发表于 2016-9-13 10:39:01 | 显示全部楼层
齐凡 发表于 2016-9-10 21:17
我试了你这段代码,为什么运行还是错的呢?

报的是什么错误?
回复 支持 反对

使用道具 举报

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

本版积分规则

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