def pop(n):
result,counter = 0,0
while counter<=n:
result=(2**counter)
counter=counter+1
return result
example:
>>>pop(4)
16
我如何返回所有结果?像:
1
2
4
8
16
答案 0 :(得分:4)
您可以将结果存储在列表中:
def pop(n):
result,counter = [],0
while counter<=n:
result.append(2**counter)
counter=counter+1
return result
现在结果将是所有权力的列表。
或者,您可以创建一个生成器yield
多个结果
def pop(n):
result,counter = 0,0
while counter<=n:
yield 2**counter
counter=counter+1
现在,如果您执行list(pop(4))
,那么您将获得所有结果的列表
答案 1 :(得分:1)
pythonic方式将是这样的:
def pop(n): return [2**x for x in range(n)]