为什么函数不返回任何内容?
我认为列表已通过引用传递。我将return添加到递归调用中,它起作用了。但是我只是想知道为什么回报确实有所作为。
注意:我正在尝试学习递归
def find_min_max(arr, i, nums):
if i == len(arr):
return nums
if arr[i] < nums[0]:
nums[0] = arr[i]
if arr[i] > nums[1]:
nums[1] = arr[i]
find_min_max(arr, i+1, nums)
答案 0 :(得分:6)
您错过了最后一行的return语句,如果您不返回任何内容,则python默认返回None
In
答案 1 :(得分:0)
我将return添加到递归调用中,它起作用了。但是我只是想知道为什么回报确实有所作为。
这与您在该位置调用过任何其他函数一样;仅当您指定返回值时才返回该值。与其他任何函数调用相比,递归调用函数没有什么特别的。使用该技术编写正确的逻辑只有一些特别的地方:)