在python for循环中,跳过值

在python for循环中,跳过值,python,for-loop,range,Python,For Loop,Range,在这个项目中,黄金被添加到一个临界量,然后需要20秒来升级一个矿场,以生产更多的黄金。我想跳过循环中的20秒(或20步)?这个工作在C++中,我不知道如何用Python来做。< /P> < P>不要在范围(100)< /C>中进行。for循环不提供这样的向前跳的方法时间将设置为列表中的下一个值,而不管您在循环体中将其更改为什么。改用while循环,例如 time=0 gold=0 level=1 for time in range(100): gold+=level if gold>

在这个项目中,黄金被添加到一个临界量,然后需要20秒来升级一个矿场,以生产更多的黄金。我想跳过循环中的20秒(或20步)?这个工作在C++中,我不知道如何用Python来做。< /P> < P>不要在<代码>范围(100)< /C>中进行。
for
循环不提供这样的向前跳的方法<代码>时间将设置为列表中的下一个值,而不管您在循环体中将其更改为什么。改用
while
循环,例如

time=0
gold=0
level=1
for time in range(100):
  gold+=level
  if gold>20*level:
    level+=1
    time+=10
time=0
当时间<100时:
黄金+=水平
如果黄金>20*级:
级别+=1
时间+=10
时间+=1

time
将在每次循环迭代中不断被覆盖,因此
time+=10
将不会产生预期效果。您可以使用
while
time
变量的显式变异,将循环转换回C样式的循环,或者您可以设计一个迭代器,允许向前跳过任意值。

您对最后一行
time
的赋值无效。在循环的顶部,
时间
立即分配给
范围
产生的下一个值。但为什么这是一个循环,你不能直接计算吗

time = 0
while time < 100:
   gold += level
   if gold > 20 * level:
      level +=1
      time += 10
   time += 1