递归求最大麻木

2024-06-01 09:14:22 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着用递归在我的程序中找到最大的数。我必须把一个文件导入另一个。你知道吗

以下是我目前掌握的代码:

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\u-largest(numlist[0])接受0个位置参数,但是给出了1个。你知道吗

救命啊!你知道吗


Tags: 文件代码程序numberreturnifmaindef
2条回答

代码有一些问题,主要是缺少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]

相关问题 更多 >