2017-02-08 3 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 문과 동일합니다. 모두 오류가 발생하는 변수 이름으로 try을 사용하여 또한

elif usernumber > randomnumber: 

usernumber < randomnumber: 

변화 그것을 확인. 대신 다른 이름을 사용하십시오. 나는 그것을 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!")