7-38 列表数字元素加权和(1) (40 分)

    xiaoxiao2023-11-07  175

    输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*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)

     

     

    最新回复(0)