因此,我尝试使用递归在程序中找到最大的数字。我必须将一个文件导入另一个文件。
这是我到目前为止的代码:
@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个。
请帮助!
答案 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:]
)进行递归调用。