def problem(n):
myList = []
for j in range(0, n):
number = 2 ** j
myList.append(number)
return myList
我希望这段代码根据 2 的前 n 次方返回 2 的次方。例如,如果我输入 4,我希望它返回 [2,4,6,8,16]。现在,如果我输入 4,代码将返回 [1,2,4,8]。我认为是我的范围弄乱了代码。
原文由 starrynights89 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需使用
range(1,n+1)
就可以了。range
对某些人来说有点混乱,因为它不包括端点。因此,range(3)
range(1,3)
列表[0,1,2]
[1,2]
作为旁注,形式的简单循环:
通常应替换为列表推导式: