递归并找到最大数量

时间:2018-11-11 21:41:13

标签: python recursion import numbers max

因此,我尝试使用递归在程序中找到最大的数字。我必须将一个文件导入另一个文件。

这是我到目前为止的代码:

@SafeVarargs

这是调用递归的文件。 这是导入它并建立列表的主要方法。

def find_largest():
    numlist = [0]
    if numlist == 1:
       return numlist[0]
    else:
       m = find_largest(numlist[0])
       return m if m > numlist[0] else numlist[0]

find_largest()

运行代码时,它会回来说行m = find_largest(numlist [0])接受0个位置参数,但给出了1个。

请帮助!

2 个答案:

答案 0 :(得分:1)

您在函数中缺少参数:

def find_largest(numlist=None):
    numlist = numlist or [0]
    if numlist == 1:
       return numlist[0]
    else:
       m = find_largest(numlist[0])
       return m if m > numlist[0] else numlist[0]

答案 1 :(得分:1)

您的代码存在一些问题,主要是您缺少num_list作为参数:

def find_largest(num_list):
    if len(num_list) == 1:
        return num_list[0]
    else:
        m = find_largest(num_list[1:])
        return m if m > num_list[0] else num_list[0]


result = find_largest([1, 2, 3, 4])
print(result)

输出

4

第二,在使用len检查列表的长度时,最后需要对列表的其余部分(num_list[1:])进行递归调用。