通过向自身添加计数器来增加循环次数

时间:2017-05-18 21:44:31

标签: python

在java中,您可以通过将计数器添加到自身来增加for循环。 for(int i = 1; i< 20; i + = i)     System.out.print(i +"") ---- 1 2 4 8 16 是否有python等价物? 以下不起作用。 对于范围内的i(1,10,i + = i):     打印(i,end ='') ---- SyntaxError:语法无效 在实验过程中出现了另一个问题。 我在范围内(1,10,i):     打印(i,end ='') 打印() 我在范围内(1,20,i):     打印(i,end ='') 打印() 我在范围内(1,30,i):     打印(i,end ='') 打印() 我在范围内(1,40,i):     打印(i,end ='') 打印() ---- 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 20 1 21 主要问题是是否存在python等价物。 另一个问题是当步骤是i时发生了什么。

2 个答案:

答案 0 :(得分:4)

您可以定义执行此操作的生成器:

def doubleRange(start, end):
    while start < end:
        yield start
        start += start

for i in doubleRange(1, 10):
    print(i)

答案 1 :(得分:1)

Python for循环用于每个循环,如Java for (Type thing : container),而不是Java for (init; test; increment)

如果你想在Python中使用init-test-increment样式循环,你需要使用while

i = 1
while i < 10:
    # loop body
    i += i