如何从输出中删除none错误



我正在创建一个创建n行星号的递归函数。我在写代码方面没有问题,但我想知道为什么None出现在我的输出中。

下面是我的代码:
def recursive_lines(n):
for n in range(0,n):
print ('*' + ('*'*n)) # Print asterisk

print(recursive_lines(5)) # Enter an integer here

结果如下:

*
**
***
****
*****
None

我不认为我在这里使用了任何int(print())类型的声明。那么为什么这个错误一直出现呢?

您正在打印出recursive_lines(5),但在函数内部,您已经打印了值。只需删除recursive_lines(5)周围的print

None正在打印,因为您正在使用print(recursive_lines(5)),即使您的函数不返回任何东西。调用函数时删除print语句

def recursive_lines(n):
for n in range(0,n):
print ('*' + ('*'*n)) 

recursive_lines(5) 

你的函数没有返回任何东西。默认情况下,它将不返回。如果你不想打印none,你可以不打印recursive_lines(5)。如果你添加一个return 0语句它会返回0而不是none

最新更新