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]))
如果我将return arr[0]
更改为print(arr[0])
,它将打印出2,但由于某种原因,如果我写return arr[0]
,它将返回None。我还尝试返回整个数组,因为该数组始终为1个元素,但这并没有改变,仍然返回None。
答案 0 :(得分:2)
您需要返回您的递归调用
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)