我用python中的函数编写了比较三个数字的代码。我得到了';无';输出正确。为什么会这样

我用python中的函数编写了比较三个数字的代码。我得到了';无';输出正确。为什么会这样,python,Python,输出: def greater(n1, n2, n3): if n1>=n2 and n1>=n3: print('n1 is grater') elif n2>=n1 and n2>=n3: print('n2') else: print('n3') result = greater(1, 9, 3) print(result) 在python中,如果函数没有return语句,它将返回null

输出:

def greater(n1, n2, n3):
    if n1>=n2 and n1>=n3:
        print('n1 is grater')
    elif n2>=n1 and n2>=n3:
        print('n2')
    else:
        print('n3')

result = greater(1, 9, 3)

print(result)

在python中,如果函数没有return语句,它将返回null

因此,在函数执行后,将null分配给结果并打印结果,即
None
。要解决此问题,只需删除最后一行
print(result)
,即可正常工作


或者,您也可以将函数更改为返回字符串,而不是立即打印它。

输出是什么意思:n2无?输出显示n2,这是正确的。显示您如何调用它。您正在打印(更大的(…)?请注意,此函数不返回任何内容。您想要什么输出?您的函数已在其内部打印。然后,您正在打印
result
,它保存函数的返回值
None
(因为您没有显式返回值)…您的函数没有显式返回值(没有
return
语句),因此它返回
None
,并且您将其分配给
result
,所以打印
结果
打印
n2
None