输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*2,第三层每个元素的值为:元素值*3, ...,以此类推!
输入格式:
在一行中输入列表
输出格式:
在一行中输出加权和
代码如下:
#!/usr/bin/python # -*- coding: utf-8 -*- def getint(s,count): if type(s) == int: return s * count elif type(s) == str: return 0 elif type(s) == list or type(s) == tuple: result = 0 for i in range(0,len(s)): result += getint(s[i],count+1) return result else: return 0 s = list(eval(input())) sum = 0 for i in range(0,len(s)): sum = sum + int(getint(s[i],1)) print(sum)
这个程序把上一个改改就好了。
给getint传入2个参数,一个参数是判断值,一个参数是控制第几层。再次调用count+1即可。
读书和健身总有一个在路上