【发布时间】:2020-09-01 07:52:55
【问题描述】:
我正在尝试在 for 循环期间逐渐增加范围的下限。据说这就是它的工作方式(我是 Python 新手,所以假设完全无知):
start = 0
reset = bool
for i in range(start, 6):
print(i)
if i > 4:
reset = True
if reset == True:
start += 1
i = start
理想情况下,输出如下:
0、1、2、3、4、5 重置
1、2、3、4、5 重置
2、3、4、5 *重置
我尝试了上面的代码,但无济于事..
等等
这一定是可以做到的,不是吗? 请注意,我正在尝试在更复杂的嵌套“for”循环中使用它,因此理想情况下该解决方案可以使用它。
提前致谢!
【问题讨论】:
-
不可能,因为
range(start, 6)根据 i 正在排序的初始起始值创建了一个迭代器。之后更改开始对这个数字序列没有影响。你需要一个while循环。 -
您可以为此使用
while和for循环的组合。 -
Python 中的 for 循环在开始下一次迭代时不关心 x 的当前值(与大多数类 C 语言不同);它只记住范围内的当前位置并分配下一个值。为了能够操作循环变量,您需要使用一个 while 循环,它不会对任何变量施加任何控制(它只是评估您给它的条件)。
标签: python loops for-loop increment