欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

相关标签: 列表 python