我有一个关于Python3.6中for和while循环的问题:
为什么while循环中的变量可以影响这个循环,而for循环中的变量不能?有没有办法让后一种方法也起作用
我在做一道数学题,用Python来计算,算法使用的for循环与代码块中的第一个相同。 但是随着这个循环中变量-a的值改变,for循环的范围保持不变
所以我使用while循环来实现我的目标,然后它就通过了。 我的猜测是,一个范围(一组元素)一旦运行就决定了,或者for循环与while循环不具有相同的“性质”
a = 28
for i in range(1,a):
a = a - 5
# outcomes: a = -107, i =27
a = 28
i = 1
while i < a:
a = a - 5
i = i + 1
# outcomes: a = 3, i = 6
读:从
a
中减去5,27次读取:只要
i
小于a
,就从a
中减去5显然,这两种说法是不一样的。
for
循环预先计算范围,迭代次数是固定的,与a
的值无关。在while
的情况下,在每个新的迭代中,使用最新的值a
重新测试条件,以说明您看到的差异相关问题 更多 >
编程相关推荐