所以我试图使用递归来找到我程序中的最大数。我必须将一个文件导入另一个文件。这是我到目前为止的代码: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 importeddef 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 个。请帮助!
2 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
您的代码存在一些问题,主要是您缺少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:])。
交互式爱情
TA贡献1712条经验 获得超3个赞
您的函数中缺少一个参数:
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]
添加回答
举报
0/150
提交
取消