我发现很难解释以下代码要做什么。它是关于递归算法的。特别是:如果其他尾部头语句。
假设列表已定义并分成头和尾部组件
items=[1,10,7,4,5,9]
head,*tail=items
def sum(items):
head,tail=items
return head+sum(tail) if tail else head
回答您对陈述的怀疑",特别是:如果尾巴头语句"。
上述语句也可以写为
if(tail != None):
return head+sum(tail)
else:
return head
在第一次外观上很有意义。
希望这对您有帮助,
在上面的任何查询中回复
只要尾巴不是类型,递归就会存在。如果没有尾巴,则递归将终止并输出头部,并且会向上延伸。
这是我的快速理解。其他成员也给出了很好的答案。