第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))