找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3163|回复: 4

[求助] 自定义函数返回NONE

2

主题

5

帖子

5

积分

贫民

积分
5
friendtasy 发表于 2017-6-26 10:31:53 | 显示全部楼层 |阅读模式
def xx(y,x=5):
    if len(str(y))==x:
        return y

    y="0"+str(y)
    xx(y, x)


print(xx(2,5))做个数字不足位自动充0的函数,怎么会返回NONE,错在哪里呢。

回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-6-26 15:04:08 | 显示全部楼层
本帖最后由 uitb 于 2017-6-26 15:06 编辑

貌似没得返回值啊,只有在最后一次递归有返回,其他的递归都没得返回,肯定就是None了。。。
改成
  1. def xx(y,x=5):
  2.     if len(str(y))==x:
  3.         return y

  4.     y="0"+str(y)
  5.     return xx(y, x)
复制代码

回复 支持 反对

使用道具 举报

0

主题

8

帖子

8

积分

贫民

积分
8
csjie822 发表于 2017-6-26 15:07:43 | 显示全部楼层
递归函数使用出错啦。
xx(y, x)  --->  return xx(y, x)
回复 支持 反对

使用道具 举报

2

主题

5

帖子

5

积分

贫民

积分
5
friendtasy  楼主| 发表于 2017-6-27 15:41:23 | 显示全部楼层
csjie822 发表于 2017-6-26 15:07
递归函数使用出错啦。
xx(y, x)  --->  return xx(y, x)

非常感谢,py基础太差了
回复 支持 反对

使用道具 举报

2

主题

5

帖子

5

积分

贫民

积分
5
friendtasy  楼主| 发表于 2017-6-27 15:41:25 | 显示全部楼层
csjie822 发表于 2017-6-26 15:07
递归函数使用出错啦。
xx(y, x)  --->  return xx(y, x)

非常感谢,py基础太差了
回复 支持 反对

使用道具 举报

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

本版积分规则

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