更改 for 循环中的迭代次数

2024-04-14

我有这样的代码:

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(使用前将#替换为@)

更改 for 循环中的迭代次数 的相关文章

随机推荐