在Java中,我们可以在其标题本身内更改for循环的计数器变量。见下文:
for(int i=1; i<1024; i*=2){
System.out.println(i);
}
我知道以下代码是错误的。但有没有一种方法可以在不改变循环内i
值的情况下编写。我喜欢让我的for循环变得简单和简短: - )
for i in range(1, 1024, i*=2):
print(i)
答案 0 :(得分:5)
您可以定义自己的生成器来为您执行此操作:
def powers_of_two(start, end):
while start < end:
yield start
start *= 2
for i in powers_of_two(1, 1024):
print(i)
给出:
1
2
4
8
16
32
64
128
256
512