如何在输出结束时清除None



我用python编写了一个函数,它可以打印0到100之间的7的倍数。输出还可以,但是在输出的末尾得到了None。我该如何摆脱它,是什么触发了它?

def multiples(x):
for n in range(100):
n = n*x
if n <= 100:
print(n)
print(multiples(7))

print(multiples(7))更改为multiples(7)

您也在打印函数的返回值。

下面是一个教程,对其进行了更多的解释:https://www.w3schools.com/python/gloss_python_function_return_value.asp

由于函数不包含return语句,因此函数将返回None

您需要显式地向函数返回一些内容,如下所示:

def multiples(x):
result = []
for n in range(100):
n = n*x
if n <= 100:
print(n)
result.append(n)
else:
pass
return n
print(multiples(10))

函数总是返回一些东西,当省略return时,Python会在后台隐式返回None

我建议你看看Python返回语句:用法和最佳实践

在这种情况下,在最后一行中,print是一个外部函数;倍数";是印刷品所包裹的内部功能。

首先是你的功能";倍数";正在接到电话。函数中有一条打印指令。所以它正在打印所有内容。然而,在函数的末尾,您并没有显式地返回任何内容。隐式返回为None。因此,当您的函数完成时,它将返回隐式";无";到外部打印功能。这就是为什么最后附加的"无"。

您可以使用@codewelldev的建议(通过删除包装multiplex函数的print(来修复此问题。

最新更新