增加力量。完全被这个难倒了

时间:2012-07-02 04:31:33

标签: python

任何人都可以告诉我如何做到这一点吗?感谢。

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

print(sumPower([2,4,6]))

1 个答案:

答案 0 :(得分:3)

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

例如:

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作为函数的结果。

我稍微修改了一下解决方案;我隐藏了一些代码;试着自己猜一下。这很容易,当你猜对了,它会对你更有用!