【Python】列表数字元素加权和(2)


代码思路仅供参考,欢迎大家批评指正!


目录

  • 7-6 列表数字元素加权和(2)
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
    • 思路
    • 代码


7-6 列表数字元素加权和(2)

输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权个数和。第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,…,以此类推!

输入格式

在一行中输入列表

输出格式

在一行中输出加权元素个数值。

输入样例

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

输出样例

15

思路

利用递归函数实现

代码

# By jurio.
def sum_fun3(l, layer):
    sum = 0
    layer += 1
    for i in l:
        if isinstance(i, int):
            sum += layer
        elif isinstance(i, list):
            sum += sum_fun3(i, layer)
    return sum

lst = list(eval(input()))
layers = 0
print(sum_fun3(lst, layers))

你可能感兴趣的:(Python_PTA,python)