【PTA-python】第6章-4 列表数字元素加权和(1) (40 分)--递归函数使用
第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))
>可以通过递归函数计算,def 传入list和level。
浙公网安备 33010602011771号