2015-04-02 33 views
-3

我試圖做一個護理程序,它似乎是出於某種原因我的程序不斷即使它應該循環。它工作得很好,直到1加他youGot變量。不夠的話,那麼:爲什麼我的Python程序不斷循環,即使它應注意什麼?

Lorem存有胡蘿蔔,生態番茄湯。和任何元素LOREM。但是現在生活的笑聲,這是創新的有針對性的執法質量。溫暖的沙拉食譜或悲傷的質量ultricies等。然而,房地產畢業巴基斯坦,其接收宏層。 Dapibus拉克絲eleifend Phasellus油樹。南明智的,誰已經有針對性的足球,足球的質量。 DUIS facilisis facilisis lectus,爲了生命的拉動,很多偉大的事情。

import random 

#generate numbers 

spinTime = float(random.randint(7, 18)) 

actualSpin = 0 


while(actualSpin != spinTime): 
    print(""" 
     B 7 @ 
     % # + 
     $ J & """) 

    actualSpin += 1 
    youGot = "Nothing" 
    print(" \n"*100) 

    print(""" 
     7 7 7 
     # $ J 
     & % & """) 

    actualSpin += 1 
    youGot = "7" 
    print(" \n" * 100) 

    print(""" 
     7 % 7 
     B B B 
     & % & """) 

    actualSpin += 1 
    youGot = "Bar" 
    print(" \n" * 100) 

    print(""" 
     $ # & 
     % % % 
     J J & """) 

    actualSpin += 1 
    youGot = "%" 
    print(" \n" * 100) 

    print(""" 
     7 + 7 
     # $ J 
     # # # """) 

    actualSpin += 1 
    youGot = "#" 
    print(" \n" * 100) 


    print(""" 
     7 $ % 
     + + + 
     B B + """) 

    actualSpin += 1 
    youGot = "+" 
    print(" \n" * 100) 


    print(""" 
     7 $ % 
     & & & 
     B % + """) 

    actualSpin += 1 
    youGot = "&" 
    print(" \n" * 100) 

print("You got a:",youGot) 
+6

的有字的最低金額做出後的一點是要確保正確解釋你遇到你已經嘗試解決什麼問題,。 – TigerhawkT3 2015-04-02 19:10:25

回答

0

你幾乎肯定不希望成爲一個spinTimefloat如果你正在做一個平等的比較。儘量保持它作爲一個int。通過這種方式,在某些時候TrueactualSpin != spinTime將提供spinTime只一次,每次輪循環遞增(它不是;看到其他的答案)。

如果你必須有非整數spinTime,比較actualSpin <= spinTime

+1

這不會有任何影響,在這裏,即使它是一個浮動,仍然會正是因爲它是從一個int投表示。 – robbrit 2015-04-02 19:15:19

2

既然你提高你的循環6次,程序將僅spinTime是6的倍數,否則會永遠繼續下去停止。

嘗試<您的循環條件

while actualSpin < spinTime: 
0

在循環年底,actualSpin值將是7在第一次迭代,14第二,21第三,依此類推。除非你是幸運的,產生的隨機數spinTime714,循環將永遠繼續下去。既然你不喜歡的東西當前時間播種隨機數生成器,它會產生相同數量的每次運行它的時候。

1並不真正瞭解你的程序,或者你想要做什麼的邏輯,但這是它之所以不斷循環。

0

兩個@xnx和@Jan對你有很好的提示。

spinTime不應該被強制轉換爲浮動。即使它不會影響這種情況下,它是壞的形式。

由於@Jan所指出的,你需要每次增加它的時間後,檢查actualSpin的價值,否則,你有一個6合7失蹤人數的機會。

另一種選擇是將while循環改爲

while(actualSpin <= spinTime) 

然而,這將嚴重偏向於while循環的最後一個選擇,由於現有的問題。

相關問題