第6章-4.列表数字元素加权和(1) (40分)
输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*2,第三层每个元素的值为:元素值*3, ...,以此类推!
输入格式:
在一行中输入列表
输出格式:
在一行中输出加权和
输入样例:
在这里给出一组输入。例如:
[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:
72
1 # 列表数字元素加权和(1) 2 # Author: cnRick 3 # Time : 2020-4-13 4 def getSum(items,depth): 5 if (type(items) == int) or (type(items) == str): 6 if type(items) == int: 7 return items * depth 8 elif type(items) == str: 9 return 0 10 else: 11 if (type(items) == tuple) or (type(items) == list): 12 result = 0 13 for i in range(len(items)): 14 result += getSum(items[i],depth+1) 15 return result 16 else: 17 return 0 18 19 items = eval(input()) 20 result = 0 21 for i in range(len(items)): 22 result = result + getSum(items[i],1) 23 print(result)