2016-02-19 42 views
-3

我從Youtube視頻在PYTHON運行此代碼;它應該停止在100循環,但它仍然在上面。任何人都知道錯誤可能在哪裏?爲什麼此代碼循環超過100?

import random 

sarge_is_awake = True 
count = 0 

while sarge_is_awake: 
    print "Down!" 
    print "Up!" 
    count = count + 1 
    print str(count) + " done" 

    if random.randrange (0, 100) == 0: 
     sarge_is_awake = False 
+1

Python是什麼語言?請編輯您的問題並添加適當的語言標記。謝謝! –

+2

你可以縮進代碼嗎?也可能是因爲隨機...它會停止在某個隨機點 – Hacketo

+0

這就是代碼縮進的方式。 #TJ Crowder提到了一個櫃檯;我將如何做到這一點?這將如何適應代碼?我已將第9行改回「count + = 1」;但是,這沒有任何影響。 –

回答

4

the documentationrandrange將在給定範圍內返回一個數字。它說什麼約不是兩次返回相同的號碼,因此您的代碼將繼續循環,直到它隨機發生返回0,這可能需要一個循環,或100,或200,或...

如果你想在100次循環後停止,你需要引入一個計數器。

+3

Pff ..決定論是爲了懦夫。 – Neil

+0

@Neil::-) .... –

1

如果你想使這個循環的次數是隨機數範圍爲0〜100,你想要的東西像

import random 

count = 0 
desired_count = random.randrange (0, 100) 

print "desired count=" + str(desired_count) 

while count < desired_count: 
    print "Down!" 
    print "Up!" 
    count = count + 1 
    print str(count) + " done" 

注意,這可能會打印什麼,如果選擇的隨機數是零。如果您至少希望將其範圍更改爲(1,100),那麼您總是希望它通過循環。

+0

謝謝鮑勃賈維斯,你的代碼工作後,我添加了第9行缺少的冒號!謝謝。 –

+0

哎呀!更正... –

+0

感謝鮑勃,學習這些東西被證明是具有挑戰性的,至少可以說。我犯了更糟糕的錯誤! –

相關問題