谁能告诉我如何做到这一点?谢谢。
程序需要定义一个函数 sumPower,它应该接受一个数字列表。然后函数 sumPower 应该使用列表中的每个项目作为数字 2 的指数。这个函数应该添加这些幂并返回总和。您还应该确保编写一个带有如下语句的主程序:
打印(总和([2,4,6]))
谁能告诉我如何做到这一点?谢谢。
程序需要定义一个函数 sumPower,它应该接受一个数字列表。然后函数 sumPower 应该使用列表中的每个项目作为数字 2 的指数。这个函数应该添加这些幂并返回总和。您还应该确保编写一个带有如下语句的主程序:
打印(总和([2,4,6]))
在这里你使用列表理解。这意味着:获取我的列表,并为该列表的每个元素计算新值。返回新元素的列表。
例如:
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
作为函数的结果返回。
我稍微修改了解决方案;我隐藏了一些代码;只是尝试自己猜测。这很容易,当您猜对时,它会对您更有用!