2017-02-08 144 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!")