2015-06-03 12 views
6

Sono nuovo in Python e sto cercando di fare un semplice Indovina il gioco numerico, e sono bloccato in un'istruzione if in un ciclo while. ecco il codice.Bloccato in un ciclo while durante l'utilizzo dell'istruzione if

Lo sto sperimentando al Tuo indizio troppo alto e basso. Ho provato pausa ing esso, ma si ferma semplicemente le cose intere

def guess_the_number(): 
    number = random.randrange(20) 

    guessesMade = 0 

    print('Take a guess') 
    guess = input() 
    guess = int(guess) 

    while guessesMade < 6: 
     if guess < number: 
      print('Your guess is too low.') 

     if guess > number: 
      print('Your guess is too high.') 

     if guess == number: 
      break 

    if guess == number: 
     print'You got it in', guessesMade, 'guess(es)! Congratulaions!' 
    else: 
     print'I\'m sorry, the number was', number 

risposta

7

hai mai incrementa guessesMade così guessesMade < 6 sarà sempre True. Devi modificare questo valore all'interno del tuo ciclo. È inoltre necessario spostare il prompt per l'input dell'utente nel ciclo

while guessesMade < 6: 
    guess = int(input('Take a guess')) 

    if guess < number: 
     print('Your guess is too low.') 
     guessesMade += 1 

    elif guess > number: 
     print('Your guess is too high.') 
     guessesMade += 1 

    else: 
     break 
+0

Come hai letto la domanda? : D – Kasramvd

+0

L'ho già provato, lo stampa di nuovo tutto e non chiede il numero – GTAirpline

+1

@Kasra Sono un viaggiatore del tempo da 60 secondi in futuro, quindi ottengo un vantaggio! – CoryKramer