time=0
gold=0
level=1
for time in range(100):
gold+=level
if gold>20*level:
level+=1
time+=10
這個程序添加了黃金直到達到臨界量,然後它需要20s升級一個礦,所以它產生更多的黃金。我想跳過循環中的那20個(或20個步驟)?這在C++中起作用,我不知道如何在python中執行它。in python for loop ,,跳過數值
time=0
gold=0
level=1
for time in range(100):
gold+=level
if gold>20*level:
level+=1
time+=10
這個程序添加了黃金直到達到臨界量,然後它需要20s升級一個礦,所以它產生更多的黃金。我想跳過循環中的那20個(或20個步驟)?這在C++中起作用,我不知道如何在python中執行它。in python for loop ,,跳過數值
不要在range(100)
中這樣做。 for
循環沒有提供像這樣跳過的方法;無論您在循環體中將其更改爲什麼,time
都將設置爲列表中的下一個值。改用while
循環,例如
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
產生的下一個值。但爲什麼這是一個循環,你不能直接做計算嗎?