在尝试打印幂序列(3,2^n)时,即 3^2,3^4,3^8 ,我尝试使用范围函数使用以下行。是否可以使用范围函数以获得所需的输出?如果是这样,请告诉我哪里出错了。
for i in range(3,1000, i*(i-1)): print (i*i)
例如,对于 i=3,9,81,预期输出如下
i*i:=9,81,6561
但错误是:
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
for i in range(3,1000, i*(i-1)): print (i*i)
ValueError: range() arg 3 must not be zero
在这种情况下步长值怎么可能为零呢?
请您参考如下方法:
您可以使用列表理解来构建您所有权力的列表:
mylist = [3**(2**n) for n in range(1,10)] # or whatever range
然后遍历理解以打印所有结果(如果需要)。您可以在此循环中对结果执行其他操作,而不是打印它们。
for item in mylist:
print(item) # print each item on a new line
