Python 列表元素个数的加权和
题目描述
输入一个嵌套列表,嵌套层次不限,根据层次数来求列表元素的加权个数和。
第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,…,以此类推进行计算。
输入
在一行中输入一个列表。
输出
在一行中输出加权元素个数值。
样例输入
[1,2,[3,4,[5,6],7],8]
样例输出
15
运行代码
import ast
lists = ast.literal_eval(input()) #输入嵌套列表
global totalnum
totalnum=0
def calnum(lists,w):
global totalnum
neww=w+1
for i in range(0,len(lists)):
if(str(lists[i]).isdigit()):
totalnum=totalnum+w
else:
calnum(lists[i],neww) #主要是运用递归的思想
calnum(lists,1)
print(totalnum)