我正在创建一个创建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