輸入一個嵌套列表,嵌套層次不限,根據層次,求列表元素的加權個數和。第一層每個元素算一個元素,第二層每個元素算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)