填空什么来完成python程序(递归)
What to put in blanks to complete python program (recursion)
我已经研究了几个小时了,但我仍然不知道在这些空白处填什么。我对它的工作原理有一个想法,但我不知道如何应用它。求助!
基本上,我需要找出哪些空白才能让程序运行。这是一个递归问题,程序基本上只是获取列表中所有元素的总和。
enter image description here
无需填空:
def listsum(numlist):
size=len(numlist)
if(size==1): return numlist[0]
else:
mid=size//2
return listsum(numlist[:mid])+listsum(numlist[mid:])
numbers=[3, 5, 4, 1, 7, 2, 9, 8, 0, 6]
必须填空:
def listsum(numlist, size):
if size==0:
return 0
elif size==1:
return numlist[0]
mid=size//2
return listsum(numlist[:mid], mid)+listsum(numlist[mid:], size-mid)
numbers=[3, 5, 4, 1, 7, 2, 9, 8, 0, 6]
print(listsum(numbers, len(numbers)))
我非常质疑为什么要给学生布置这样的作业
我已经研究了几个小时了,但我仍然不知道在这些空白处填什么。我对它的工作原理有一个想法,但我不知道如何应用它。求助!
基本上,我需要找出哪些空白才能让程序运行。这是一个递归问题,程序基本上只是获取列表中所有元素的总和。
enter image description here
无需填空:
def listsum(numlist):
size=len(numlist)
if(size==1): return numlist[0]
else:
mid=size//2
return listsum(numlist[:mid])+listsum(numlist[mid:])
numbers=[3, 5, 4, 1, 7, 2, 9, 8, 0, 6]
必须填空:
def listsum(numlist, size):
if size==0:
return 0
elif size==1:
return numlist[0]
mid=size//2
return listsum(numlist[:mid], mid)+listsum(numlist[mid:], size-mid)
numbers=[3, 5, 4, 1, 7, 2, 9, 8, 0, 6]
print(listsum(numbers, len(numbers)))
我非常质疑为什么要给学生布置这样的作业