递归模式返回NoneType

时间:2016-02-17 19:02:59

标签: python python-3.x recursion

我有一段简单的代码用于递归地在Python中打印模式,但是,在打印时,代码返回NoneType。

这就是我所拥有的。

def pattern(n):
    if n <= 0:
        return ''
    print ( '*' + str(pattern(n-1)) + '!', end='')

我的预期输出是

**!!

但是,此代码可以使用return语句而不是print。问题是我不需要引号。

1 个答案:

答案 0 :(得分:1)

通常,您将返回要返回的值,然后将其打印到函数外部。 e.g:

def pattern(n):
    if n <= 0:
        return ''
    return '*' + str(pattern(n-1)) + '!'

print(pattern(2))