Python:我的返回变量始终为None

仍在学习

因此,每当我尝试返回可选参数时,或者至少我认为这就是为什么发生这种情况时,我发现python中发生了一件奇怪的事情。

这是我的代码

def reverse(string, output = ""):
    if string == "":
        print "winner: ", output
        return output
    output = output + string[-1]
    string = string[:-1]
    reverse(string, output=output)

当我运行它时,会发生以下情况:

>>> output = reverse("hello")
winner:  olleh
>>> print output
None

有人知道为什么我的回报总是“无”吗?

切普纳

您必须返回递归调用的返回值。

def reverse(string, output = ""):
    if string == "":
        print "winner: ", output
        return output
    output = output + string[-1]
    string = string[:-1]
    return reverse(string, output=output)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PyAutoGui 始终为 locateOnScreen 返回 none

来自分类Dev

Bourne Shell函数返回变量始终为空

来自分类Dev

request.post变量始终返回为空

来自分类Dev

wtforms SelectField始终返回None

来自分类Dev

变量始终为空

来自分类Dev

变量始终为“ 0.0”

来自分类Dev

Python“为我输入” +变量

来自分类Dev

Python“为我输入” +变量

来自分类Dev

google-app-engine 脚本中的返回值始终为 None

来自分类Dev

SharedPreferences变量始终返回false

来自分类Dev

带strftime的sqlite查询始终返回None

来自分类Dev

XmlReader.ReadSubTree()始终返回NONE

来自分类Dev

带strftime的sqlite查询始终返回None

来自分类Dev

EntityManager返回始终为null

来自分类Dev

如果返回始终为真

来自分类Dev

返回的XPath始终为null

来自分类Dev

为什么StringField始终为None?

来自分类Dev

变量始终计算为false

来自分类Dev

Python“不是None”返回None

来自分类Dev

jstl:foreach循环将值设置为隐藏变量始终返回零

来自分类Dev

为什么设计为str(None)的python返回'None'而不是空字符串?

来自分类Dev

在我的语句中使用布尔函数时返回始终为假

来自分类Dev

我的表单POST不再识别POST输入变量,因此isset始终为false

来自分类Dev

为什么我的while循环是无限的?每次更改变量,但条件始终为真

来自分类Dev

为什么我的while循环是无限的?每次更改变量,但条件始终为真

来自分类Dev

Chart.js 条形图的值始终为 1,为什么我采用了变量

来自分类Dev

Python输入返回None

来自分类Dev

Python输入返回None

来自分类Dev

来自for循环的变量始终返回0