2014-09-05 4 views
-2

Я пытаюсь сделать «предположение о количестве между 1-10», но петли while, похоже, продолжают работать. Я хочу, чтобы программа позволяла пользователю угадывать номер, а затем отображать, если его слишком высокий или низкий и т. Д., Затем снова запускается автоматически (цикл), чтобы позволить пользователю снова выбирать. Этот код заставляет его работать вечно. Можете ли вы, ребята, помочь мне?В то время как Loop Guessing Number Game - Python

import random 

def numberGuess(): 
    printNow("I'm thinking of a number between 1 and 10") 
    guess = 0 # give guess a starting value 
    randNum = random.randrange(1,11) # this line generates a random number 
    guess = int(input("Try to guess the number:")) # ask user for a number 
    print randNum 
    while guess != randNum: 
    if (guess == randNum): 
     print "You got it!" 
    if (guess > randNum): 
     print "Wrong! You guessed too high" 
    if (guess < randNum): 
     print "Wrong! You guessed too low" 
+0

Вы не измените 'guess' внутри цикла ... – jonrsharpe

ответ

0

Если переместить input заявление в то время цикла, вы должны быть хорошо.

1

Вы забыли угадать внутри цикла

while guess != randNum: 
    guess = int(input("Try to guess the number:")) 
    if (guess > randNum): 
     print "Wrong! You guessed too high" 
    if (guess < randNum): 
     print "Wrong! You guessed too low" 
    print "You got it!" 
+0

с этим кодом первое предположение не оцениваться! – user3015703

+1

@ user3015703, Im только указание модификация для цикла. Но 'guess' вводится перед вызовом цикла, поэтому он должен быть оценен –

0

Используйте это:

import random 

def numberGuess(): 
    print("I'm thinking of a number between 1 and 10") 
    randNum = random.randrange(1,11) # this line generates a random number 
    while guess != randNum: 
    guess = int(input("Try to guess the number:")) # ask user for a number 
    if (guess == randNum): 
     print "You got it!" 
    if (guess > randNum): 
     print "Wrong! You guessed too high" 
    if (guess < randNum): 
     print "Wrong! You guessed too low" 

numberGuess()