2024-06-16 10:58:00 发布
网友
time=0 gold=0 level=1 for time in range(100): gold+=level if gold>20*level: level+=1 time+=10
有了这个程序,黄金被添加到一个临界量,然后需要20秒来升级一个矿山,这样它生产更多的黄金。我想跳过这20步?这在c++中有效,我不知道如何在python中实现。
每次循环迭代time都会被覆盖,因此time+=10不会产生所需的效果。您可以使用while和time变量的显式变异,将循环转换回C样式的循环,或者您可以想象并设置一个允许跳过任意值的迭代器。
time
time+=10
while
您在最后一行对time的赋值无效。在循环的顶部,time立即被赋给由range产生的下一个值。但为什么这是一个循环,你不能直接做计算吗?
range
不要在range(100)里做。for循环不提供像这样向前跳的方法;time将被设置为列表中的下一个值,而不管您在循环主体中将其更改为什么。使用while循环代替,例如
range(100)
for
time = 0 while time < 100: gold += level if gold > 20 * level: level +=1 time += 10 time += 1
每次循环迭代
time
都会被覆盖,因此time+=10
不会产生所需的效果。您可以使用while
和time
变量的显式变异,将循环转换回C样式的循环,或者您可以想象并设置一个允许跳过任意值的迭代器。您在最后一行对
time
的赋值无效。在循环的顶部,time
立即被赋给由range
产生的下一个值。但为什么这是一个循环,你不能直接做计算吗?不要在
range(100)
里做。for
循环不提供像这样向前跳的方法;time
将被设置为列表中的下一个值,而不管您在循环主体中将其更改为什么。使用while
循环代替,例如相关问题 更多 >
编程相关推荐