如何在python中使用乘法增量来编写循环?

时间:2018-03-27 09:46:15

标签: python-3.x

我在循环中看过python教程,但没有一个显示循环方式,如下所示。

是否可以转换此python?或者还有其他方法吗?

 for(int i=1;i<=64;i=i*2)
           cout<<i;
 //i know these following in python
 for i in range(1,64,2) // moves i in steps of 2
 for i in range(64,1,-1) // moves i in down steps of 1   

2 个答案:

答案 0 :(得分:1)

对于每次加倍或其他常规序列的特定情况,您可以使用理解来达到同样的效果:

for i in (2**i for i in range(0, 7)): print i

请注意,这与以下内容完全相同:

for i in range(0, 7): print 2**i

但是,在更一般的情况下,您可以使用while循环,如另一个答案中所示,或创建您自己的generator function以便在循环中使用。

答案 1 :(得分:0)

只有当你想每次增加2时,你才能使用你提到的第一个选项,即:

for i in range (1,65,2):

注意如果你想让我也等于64,你必须在65岁时结束你的射程。 另一个选择是你希望每次加倍:

i=1
while i<=64:
    #some code comes here
    i*=2
再次

如果你想让64成为循环的一部分你需要看到循环结束的位置(即i的值是什么)