我有这样的代码:
loopcount = 3
for i in range(1, loopcount)
somestring = '7'
newcount = int(somestring)
loopcount = newcount
所以我想要的是修改“内部”循环的范围。
我编写了这段代码,期望在第一个循环期间for循环的范围将更改为(1,7),但没有发生。
取而代之的是,无论我输入多少数字,它都只能运行2次。 (我要6次..在这种情况下)
我使用print这样检查值:
loopcount = 3
for i in range(1, loopcount)
print loopcount
somestring = '7'
newcount = int(somestring)
loopcount = newcount
print loopcount
#output:
3
7
7
7
怎么了?该号码已更改。
我的想法哪里错了?
最佳答案
该范围是根据被调用时loopcount
的值创建的-之后发生的任何循环计数无关紧要。您可能想要的是一会儿声明:
loopcount = 3
i = 1
while i < loopcount:
somestring = '7'
loopcount = int(somestring)
i += 1
while
测试条件i < loopcount
是否为true,如果为true,则运行其包含的语句。在这种情况下,每次通过循环时,i都会增加1。由于第一次将循环计数设置为7,所以循环将运行六次,因为i = 1,2,3,4,5和6 。一旦条件为假,则当
i = 7
时,while循环将停止运行。(我不知道您的实际用例是什么,但是您可能不需要分配newcount,因此我将其删除了)。