我是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)
这将给我正确的价值