簡體   English   中英

函數返回無,但打印結果

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM