猿问

递归并找到最大数

所以我试图使用递归来找到我程序中的最大数。我必须将一个文件导入另一个文件。


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


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()

那是调用递归的文件。这是将导入它并建立列表的主要内容。


import Collins_find_largest #file name to be imported


def main():

    number_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


    print('List of numbers:\n', number_list, sep ='')


    print("largest Number in the list is: ", \

      Collins_find_largest.find_largest(number_list))


main()

当我运行我的代码时,它返回说行 m=find_largest(numlist[0]) 需要 0 个位置参数,但给出了 1 个。


请帮助!


慕哥9229398
浏览 179回答 2
2回答

Smart猫小萌

您的代码存在一些问题,主要是您缺少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:])。

交互式爱情

您的函数中缺少一个参数: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]
随时随地看视频慕课网APP

相关分类

Python
我要回答