繁体   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