浙大PTA 第6章-4 列表数字元素加权和(1) (40 分)

输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*2,第三层每个元素的值为:元素值*3, ...,以此类推!

输入格式:

在一行中输入列表

输出格式:

在一行中输出加权和

输入样例:

在这里给出一组输入。例如:

[1,2,[3,4,[5,6],7],8]

输出样例:

在这里给出相应的输出。例如:

72

题解:

s=input()
sum=0
t=''
flag=1
multiplier=0
for i in s:
    if i=='"' or i=="'":
        flag=-flag
    if flag==1:
        if i=='[':
            multiplier+=1
        elif i.isdigit() or i=='-' or i=='.':
            t+=i
        elif i==']' or i==',' or i==')':
            if t:
                sum+=eval(t)*multiplier
                t=''
            if i==']':
                multiplier-=1          
print(sum)

 

上一篇:查看wifi密码


下一篇:Python和java的选择