-4

谁能告诉我如何做到这一点?谢谢。

程序需要定义一个函数 sumPower,它应该接受一个数字列表。然后函数 sumPower 应该使用列表中的每个项目作为数字 2 的指数。这个函数应该添加这些幂并返回总和。您还应该确保编写一个带有如下语句的主程序:

打印(总和([2,4,6]))

4

1 回答 1

3

在这里你使用列表理解。这意味着:获取我的列表,并为该列表的每个元素计算新值。返回新元素的列表。

例如:

In [2]: a=[2,4,6]

In [3]: print [pow(2,x) for x in a]
[4, 16, 64]

之后,您需要计算列表中元素的总和。Python中有一个函数可以将列表中的所有元素相加,即它的参数。

In [4]: sum([2,4,6])
Out[4]: 12

现在您将列表理解和sum.

(try to guess)

当你不允许这样的构造时,你可以写同样的更底层的:

def sumPower(a):
  s = 0
  for x in a:
    s += pow(2,x)
  # (one line removed; try to guess what must be here)

在这里迭代a,计算 2 的幂并将其累加到s变量中。然后s作为函数的结果返回。

我稍微修改了解决方案;我隐藏了一些代码;只是尝试自己猜测。这很容易,当您猜对时,它会对您更有用!

于 2012-07-02T04:34:16.167 回答