返回值是无

时间:2020-07-15 12:42:30

标签: python recursion

我是Python的新手,我正在尝试进行递归。为什么这返回None,但是当我返回打印它时,它有一个值

my_list = [30, 40, 50, 1000, 20, 60, 90, 100]
print(largest(my_list))


def largest(my_list):
    if len(my_list) > 1:
        x = my_list[len(my_list)-1]
        if x is max(my_list):
            return x
        my_list.pop()
        largest(my_list)

上面的代码将不打印任何内容,但是如果我将return函数更改为print(x)而不是return x,就像下面的代码一样:

my_list = [30, 40, 50, 1000, 20, 60, 90, 100]
largest(my_list) #This is the change


def largest(my_list):
    if len(my_list) > 1:
        x = my_list[len(my_list)-1]
        if x is max(my_list):
            return print(x) #This is the change
        my_list.pop()
        largest(my_list)

这将给我正确的价值

0 个答案:

没有答案