任何人都可以告诉我如何做到这一点吗?感谢。
程序需要定义一个函数sumPower,它应该接受一个数字列表。函数sumPower然后应该使用列表中的每个项目作为数字2的指数。此函数应添加这些幂并返回总和。您还应该确保使用如下语句编写主程序:
print(sumPower([2,4,6]))
答案 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
作为函数的结果。
我稍微修改了一下解决方案;我隐藏了一些代码;试着自己猜一下。这很容易,当你猜对了,它会对你更有用!