<分区>
在 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)
<分区>
在 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)
最佳答案
您可以定义自己的生成器来为您执行此操作:
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
关于python - 计数器变量作为Python中for循环的步长值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45545558/
相关文章:
python - 操作系统错误 : raw write() returned invalid length when using print() in python
javascript - 每次调用一个函数你能返回不同的值吗? - JavaScript
python - 如何在python中循环使用wget进行下载
python - 将 XML 响应转换为 Pandas 数据框
python - Ubuntu 上的属性错误 : 'module' object has no attribute 'PROTOCOL_TLSv1_2' with Python 2. 7.6
python - 使用 OpenCV python 查看原始 10 位 USB 相机