您对递归如何工作的理解似乎很好。
您的if块被弄乱了,您将2else
与1if
对齐,并且对齐已完成。您需要删除您的第一个else
并且取消缩进if
一个级别以下的所有内容。例如:
def Max(list):
if len(list) == 1:
return list[0]
else:
m = Max(list[1:])
return m if m > list[0] else list[0]
def main():
list = eval(raw_input(" please enter a list of numbers: "))
print("the largest number is: ", Max(list))
main()