【PTA】【浙大版《Python 程序设计》题目集】第6章-4 列表数字元素加权和(1) (40 分)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43733499/article/details/102722423

列表数字元素加权和

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

输入格式:

在一行中输入列表

输出格式:

在一行中输出加权和

输入样例:

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

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

输出样例:

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

72

思路:

将左中括号作为进层的标志,将右中括号作为出层的标志。

代码如下:

a = input()
n = 0
ans = 0
res = a
a = a.replace('[', '')
a = a.replace(']', '')
nums = a.split(',')
b = res
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)

猜你喜欢

转载自blog.csdn.net/qq_43733499/article/details/102722423