[英]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.