3 votes

Un simple problème de boucle en python

Ce code :

import random
print("\tWelcome to the guess my number program\n")

print("im thinking of a number between 1 and 100")
print("try to guess it in 5 attempts\n")

randomNum = random.randint(1,101)

tries = 0

userNumber = int(input("please pick a number"))

while userNumber != randomNum:
    if userNumber > randomNum:
        print ("lower") 
    else:
        print("higher") 
    tries += 1

print ("you guessed it! the number was" , randomNum)

Pour une raison quelconque, cela produit une boucle infinie. J'ai besoin d'aide, je suis encore en train de m'habituer à Python.

5voto

Rohit Jain Points 90368

Vous n'avez jamais mis à jour votre userNumber o randomNum à l'intérieur de la boucle while. Ainsi, une fois que la condition de la boucle est remplie, elle s'exécute à l'infini.

Vous devez mettre à jour votre boucle while comme suit

while userNumber != randomNum:
    if userNumber > randomNum:
        print ("lower") 
    else:
        print("higher") 

    tries += 1    
    userNumber = int(input("please pick a number"))

3voto

2rs2ts Points 3310

Vous avez oublié de demander à l'utilisateur de deviner à nouveau. Essayez ceci !

while userNumber != randomNum:
    if userNumber > randomNum:
        print("lower")
    else:
        print("higher")
    tries += 1
    userNumber = int(input("please pick a number")

0voto

crackalamoo Points 13

Essayez ceci :

import random
print("Welcome to the guess my number program!")
randomnum = random.randint(1, 100)
print("I'm thinking of a number between 1 and 100.")
print("Try to guess it in 5 attempts.")
tries = 0
usernumber = 0
while not usernumber == randomnum:
   usernumber = int(raw_input("please pick a number.")
   if usernumber > randomnum:
      print("Too High")
   if usernumber < randomnum:
      print("Too Low")
   tries = tries + 1
if usernumber == randomnum:
   print("You got the number!")
print("It took you " + str(tries) + " attempts.")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X