第6章-4 列表数字元素加权和(1) (40 分)
分析
想把
[,]括号替换为特殊字符,依据出现次序,遇到!号则增加level标记值,顺序计算,遇到?号,level标记值-1,再顺序计算。但发现转换为其他字符在语义上无法通过。
>可以通过递归函数计算,def 传入list和level。
解法
def fact(lst,level):
sum=0
for l in lst:
if type(l)==int:
sum+=l*level
elif type(l)==list:
sum+=fact(l,level+1)
return sum
lst=eval(input())
print(fact(lst,1))
本文探讨如何使用递归函数fact()处理列表,根据输入的[]括号和特定符号(!和?)调整level值,实现复杂层级计算。解决列表中整数和嵌套列表的权重累加问题。
>可以通过递归函数计算,def 传入list和level。

被折叠的 条评论
为什么被折叠?



