2017-10-13 99 views
-2

我正在下面的問題,但我對如何建立我的主要功能有點卡住:廣場和總結列表

編寫一個程序,將接受來自用戶號碼列表。編寫和測試兩種功能,以滿足以下規格:

squareEach(NUMS),NUMS是號碼的列表,在列表中

sumList(NUMS)返回每個數的平方的列表, nums是數字列表,返回列表中數字的總和

打印原始列表,平方值列表和列表總和。

#import reduce function 
from functools import reduce 

def numbers(n): 
    numbers = [] 

    data = input("Enter a number or press Enter to quit: ") 

    while True: 
     #request input from user 
     data = input("Enter a number or press Enter to quit: ") 

     #set up the termination condition  
     if data == "": 
      break 

#define square function 
def SquareEach(numbers): 
    return map(lambda x: x**2, numbers) 

#define sum function 
def SumList(numbers): 
    return map(lambda x, y: x + y, numbers) 

#main program start 
def main(): 

#main program end 
main() 

回答

-1

我會寫的每個函數如下

廣場的每個元素列表理解

def sqauareEach(nums): 
    return [num**2 for num in nums] 

內只需使用內置sum功能

def sumList(nums): 
    return sum(nums) 

如果你必須寫第二個函數重刑「手動」,而不使用內置的,你可以使用一個for循環

def sumList(nums): 
    total = 0 
    for num in nums: 
     total += num 
    return total 

要輸入號碼列表

def getInputs(): 
    entry = input('Enter values delimeted by space: ') 
    return [int(i) for i in entry.split()] 

最後main也只是

def main(): 
    nums = getInputs() 
    squares = squareEach(nums) 
    total = sumList(nums) 

然後你如果需要,可以添加一些print語句來輸出這些值。