2017-02-08 142 views
0
print("Hi. Welcome on Guess The Number!!") 
from random import randint 
randomnumber = randint(1,100) 
print("Guess the number!!") 
usernumber = int(input("Which number am I thinking about?")) 
try = 0 
while usernumber != randomnumber: 
    if usernumber < randomnumber: 
     print("Lower...") 
     print() 
     try += 1 
     usernumber = int(input("Which number am I thinking about")) 
    elif usernumber < randomnumber: 
     print("Higher") 
     print() 
     try += 1 
     usernumber = int(input("which numberam I thinking about?")) 
print("Finally!!!") 
if try <= 10: 
    print("Well done!!") 
elif try > 10: 
    print("U lost") 
print() 
print("The End!") 

當我輸入一個高於隨機數的輸入數字時,這會導致無限循環。無限循環幫助需要

我該如何解決這個問題?

+1

檢查'elif'比較,並將其與'if'比較。 – Matthias

+0

oops。謝謝!!! – Fillow

+2

'try'是一個關鍵字,不應該用作變量名稱。 – shuttle87

回答

0

在您的代碼中,ifelse僅適用於usernumber < randomnumber。這就是爲什麼你會以無限循環結束 - 因爲你沒有編碼if-else分支,這將處理這種情況。

1

您的elif聲明與if聲明相同。這兩種檢查

usernumber < randomnumber: 

改變它

elif usernumber > randomnumber: 

而且使用try作爲變量名會拋出一個錯誤。改用另一個名字。我把它改成tryy

print("Hi. Welcome on Guess The Number!!") 
from random import randint 
randomnumber = randint(1,100) 
print("Guess the number!!") 
usernumber = int(input("Which number am I thinking about?")) 
tryy = 0 
while usernumber != randomnumber: 
    if usernumber < randomnumber: 
     print("Lower...") 
     print() 
     tryy += 1 
     usernumber = int(input("Which number am I thinking about")) 
    elif usernumber > randomnumber: 
     print("Higher") 
     print() 
     tryy += 1 
     usernumber = int(input("which numberam I thinking about?")) 
print("Finally!!!") 
if tryy <= 10: 
    print("Well done!!") 
elif tryy > 10: 
    print("U lost") 
print() 
print("The End!")