第6章-5.列表元素个数的加权和(1) (40分)
输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权个数和。第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,...,以此类推!
输入格式:
在一行中输入一个列表。
输出格式:
在一行中输出加权元素个数值。
输入样例:
在这里给出一组输入。例如:
[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:
15
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 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)