Comment écrire un code Python qui produit un nombre aléatoire et limite le nombre de suppositions pour le trouver ?

la programmation


Le code est censé pouvoir produire un nombre aléatoire et vous indiquer si vous êtes supérieur ou inférieur. Je veux pouvoir limiter le nombre de suppositions faites pour le trouver.

Python
import random
MAX_NUM = 100
max_tries_allowed = 10
print("\tWelcome to 'Guess My Number !'")
print(f"\nI'm thinking of a number between 1 and {MAX_NUM}")
print("Try to guess it in as few attempts as possible. \n")
# Set the initial values
the_number = random.randrange(MAX_NUM) + 1
guess = None
tries = 0
#guessing loop
while (guess != the_number):
 guess = int(input("Take a guess: "))
 if (tries == max_tries_allowed):
  print("You lose")
 elif (guess > the_number):
   print("Lower...")
 else:
   print("Higher...")
 tries += 1
print("You guessed it! The number was ", the_number)
print("And it only took you ",tries, " tries!\n")
input("\n\nPress the Enter key to exit")

Ce que j’ai essayé :

Je suis un codeur débutant mais j’ai le programme de base qui fonctionne, mais la seule chose qui ne fonctionne pas est le nombre limité de suppositions faites.

Solution 1

Vous êtes très proche de ça. Votre condition de boucle while doit être étendue afin qu’elle ne se contente pas de vérifier si le nombre correspond à la supposition. Il doit également vérifier si vous avez dépassé le nombre maximum d’essais autorisés. Réorganisez votre clause while comme ceci :

found = false
while (found == false and tries < max_tries_allowed)
  guess = int(input("Take a guess: "))
  tries += 1
  if (guess = the_number):
    found = true
  if (guess > the_number):
    print("Lower...")
  elif (guess < the_number):
    print("Higher...")
  else:
    found = true
if (found == false):
  print("You didn't find the number")

Quelque chose comme ça devrait aider.

コメント

タイトルとURLをコピーしました