输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*2,第三层每个元素的值为:元素值*3, ...,以此类推!
输入格式:
在一行中输入列表
输出格式:
在一行中输出加权和
输入样例:
在这里给出一组输入。例如:
[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:
72
这道题很简单,就是判断到‘【’ 就让权重n+1 判断到‘】’就让权重n-1,下面是具体代码:
a = input()
n = 0
ans = 0
backup = a
a = a.replace('[', '')
a = a.replace(']', '')
nums = a.split(',')
b = backup
j = 0
for i in range(len(b)):
if b[i] == '[':
n += 1
elif b[i] == ']':
n -= 1
elif b[i] == ',':
continue
elif b[i+1] == ',' or b[i+1] == ']':
ans += int(nums[j]) * n
j += 1
print(ans)