[英]Function returns None, but prints result
def maximum(arr):
if len(arr) == 1:
return arr[0]
else:
if arr[0] > arr[1]:
del arr[1]
maximum(arr)
elif arr[0] <= arr[1]:
del arr[0]
maximum(arr)
print(maximum([2, 2]))
如果我用print(arr[0])
更改return arr[0]
,它会打印出2,但是由于某种原因,如果我写return arr[0]
它将返回None。 我还尝试返回整个数组,因为该数组始终为1个元素,但这并没有改变,仍然返回None。
您需要返回您的递归调用
def maximum(arr):
if len(arr) == 1:
return arr[0]
else:
if arr[0] > arr[1]:
del arr[1]
return maximum(arr)
elif arr[0] <= arr[1]:
del arr[0]
return maximum(arr)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.