0

我正在尝试理解这些说明。

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

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

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

到目前为止,我有:

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

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

4

3 回答 3

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]andsomelist[n + 1]值,而不是索引本身。

于 2013-04-05T20:45:31.547 回答
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(我重命名listlst,作为list内置函数),所以我猜你正在尝试从该列表中获取nth 和n + 1th 元素。

于 2013-04-05T20:45:32.297 回答
1

您可以使用该sum方法以非常时尚的方式完成此操作:)

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

这也是最快的方法。

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

于 2013-04-05T20:53:22.927 回答