我如何在列表中添加值作为函数的参数?

时间:2013-04-05 20:43:15

标签: python-3.x

我想了解这些说明。

  1. 在名为“summer”的主程序文件中设置一个新函数,该函数将列表作为参数并返回我们将在后续步骤中确定的值。

  2. 在“summer”函数中,设置一个循环,该循环使用名为“n”的计数器变量,该变量将采用值0,2,4,6,8,10,12。

  3. 每次循环,你都要从“mymath”模块调用你的“powerval”函数,从传递到“summer”的数据列表中作为参数项“n”和“n + 1”传递。添加所有这些值并将最终结果返回给调用者。

  4. 到目前为止,我有:

    def summer(list):
        for n in range(0,13,2):
            value=powerval(n,n+1)
    

    之后我迷路了。我如何执行第3步?

3 个答案:

答案 0 :(得分:4)

你添加它们:

from mymath import powerval

def summer(somelist):
    sum = 0
    for n in range(0, 13, 2):
        sum += powerval(somelist[n], somelist[n + 1])
    return sum

因此,powerval()的返回值被添加到目前为止的总和中,该总和从0开始。您需要传入somelist[n]somelist[n + 1]值,而不是指数本身。

答案 1 :(得分:3)

您需要添加它们:

from mymath import powerval

def summer(lst):
    total = 0

    for n in range(0, 13, 2):
        total += powerval(lst[n], lst[n + 1])

    return total

我不确定您使用lst的位置(我将list重命名为lst,因为list是内置函数),所以我猜您正试图从该列表中获取nn + 1个元素。

答案 2 :(得分:1)

您可以使用sum方法以非常时尚的方式完成此任务:)

def summer(myList):
    return sum(powerval(myList[n], myList[n+1]) for n in range(0, 13, 2))

这也是最快的方法。

PS:命名列表“list”并不是一个好主意,因为这是python中的保留名称。这就是为什么我在上面的例子中将它重命名为myList。