我有这样的代码:
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
当它被调用时——之后发生的任何循环计数都无关紧要。您可能想要的是一个 while 语句:
loopcount = 3
i = 1
while i < loopcount:
somestring = '7'
loopcount = int(somestring)
i += 1
The while
测试条件i < loopcount
为 true,如果为 true,则 if 运行它包含的语句。在这种情况下,每次通过循环时,i 都会增加 1。由于第一次循环时循环计数设置为 7,因此循环将运行六次,因为 i = 1,2,3,4,5 和 6 。
一旦条件为假,当i = 7
,while 循环停止运行。
(我不知道你的实际用例是什么,但你可能不需要分配 newcount,所以我删除了它)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)