2017-10-13 69 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语句来输出这些值。