python練習題6.4列表數字元素加權和(1)


輸入一個嵌套列表,嵌套層次不限,根據層次,求列表元素的加權和。第一層每個元素 的值為:元素值*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即可。


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM