版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
列表元素个数的加权和(1)
输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权个数和。第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,…,以此类推!
输入格式:
在一行中输入一个列表。
输出格式:
在一行中输出加权元素个数值。
输入样例:
在这里给出一组输入。例如:
[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:
15
思路:
用num记录所在层数,碰到数字并且之后的一位不是数字,sum+num。
代码如下:
a = input()
b = ''.join(a)
num= 0
sum=0
for i in range(0,len(b)):
if(b[i]=='['):
num+=1
elif(b[i]==']'):
num-=1
if b[i].isdigit() and (i!='[') and (i!=']') and b[i]!=',' and b[i+1].isdigit()==False:
sum = sum+num
print(sum)`