所以我试图自己学习python,并且正在编写谜题。我遇到了一个非常需要排队赢得比赛的最佳位置。运行比赛的人摆脱了站在奇数位置的人。返回原始值的递归方法
因此,举例来说,如果1,2,3,4,5
这将摆脱奇数位置留下2,4
就会改掉其余奇数位置留下4作为胜利者的。
当我调试的代码似乎是工作,但它的返回[1,2,3,4,5]
而不是预期的[4]
这里是我的代码:
def findWinner(contestants):
if (len(contestants) != 1):
remainingContestants = []
for i, contestant in enumerate(contestants, 1):
if (isEven(i)):
remainingContestants.append(contestant)
findWinner(remainingContestants)
return contestants
难道我没有看到一个逻辑错误或者是还有别的,我没有看到?
嗯,那有效。谢谢,我不确定你是什么意思,我仍然需要删除偶数的选手,但我删除了那些奇怪的选项。我现在得到了我的预期结果,我没有看到逻辑上的其他错误... – Ryan 2010-11-09 17:12:42