第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)

 

 
posted @ 2020-04-13 22:21  cnRicky  阅读(1064)  评论(0编辑  收藏  举报