【发布时间】:2019-03-11 04:10:14
【问题描述】:
我是递归概念的新手,试图弄清楚以下代码是如何工作的
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()
我在看代码的时候有以下疑惑
1) 切片在此处如何工作,而没有给出切片应该在 [0:9] 结束的位置(以这种方式,列表是如何被切片的)
2) **return m if m > list[0] else list[0]**statement 什么时候会被调用(我想它不会被调用,因为在 return 之前我们将多次调用函数次)
【问题讨论】: