Python列表数字元素加权和
程序员文章站
2022-03-03 19:49:49
第6章-4 列表数字元素加权和(1)输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值 * 1,第二层每个元素的值为:元素值 * 2,第三层每个元素的值为:元素值 * 3, …,以此类推!输入格式:在一行中输入列表输出格式:在一行中输出加权和输入样例:在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]输出样例:在这里给出相应的输出。例如:72x = eval(input())'''一层一层加'''def Sum(...
第6章-4 列表数字元素加权和(1)
输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值 * 1,第二层每个元素的值为:元素值 * 2,第三层每个元素的值为:元素值 * 3, …,以此类推!
输入格式:
在一行中输入列表
输出格式:
在一行中输出加权和
输入样例:
在这里给出一组输入。例如:
[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:
72
x = eval(input()) '''一层一层加''' def Sum(x, sums, weight): for ch in x: if isinstance(ch, int): sums += ch * weight for ch in x: if isinstance(ch, list): sums = Sum(ch, sums, weight+1) return sums print(Sum(x, 0, 1))
另解:
a = eval(input()) j = 0 def sum(n): global j
j += 1 sums = 0 for i in n: if isinstance(i, list): continue if isinstance(i, int): sums += 1 * j for i in n: if isinstance(i, list): sums += sum(i) if isinstance(i, int): continue return sums print(sum(a))
本文地址:https://blog.csdn.net/Friedrichor/article/details/109056632