Correct façon de coder un " Devinez le Nombre de jeu en Python
Je suis nouveau sur python et la programmation en général et j'ai écrit un code pour une Deviner le Nombre de jeu en Python. Il permet à l'utilisateur 6 tentatives de deviner un nombre aléatoire. Il fonctionne, mais je ne suis pas sûr si c'est le meilleur moyen ou le moyen le plus efficace de l'écriture et de l'apprécierais de je pourrais obtenir certains des commentaires constructifs sur elle.
Code:
#Guess my Number - Exercise 3
#Limited to 5 guesses
import random
attempts = 1
secret_number = random.randint(1,100)
isCorrect = False
guess = int(input("Take a guess: "))
while secret_number != guess and attempts < 6:
if guess < secret_number:
print("Higher...")
elif guess > secret_number:
print("Lower...")
guess = int(input("Take a guess: "))
attempts += 1
if attempts == 6:
print("\nSorry you reached the maximum number of tries")
print("The secret number was ",secret_number)
else:
print("\nYou guessed it! The number was " ,secret_number)
print("You guessed it in ", attempts,"attempts")
input("\n\n Press the enter key to exit")
- Il semble assez bon pour moi. Vous pouvez simplifier que
if
condition dans lawhile
boucle en remplaçant leelif ...
avecelse
. - essayez de codereview.stackexchange.com
- Si ce code fonctionne et vous êtes à la recherche d'améliorations, ça, c'est sur codereview.stackexchange.com (je l'ai signalé à suggérer la migration)
- Il y a un petit bug dans votre code: si quelqu'un trouve la bonne réponse à la sixième tentative, vous imprimez le mauvais message. Utilisation
if attempts == 6 and secret_number != guess:
. Sinon, vérifiez pourif secret_number == guess:
.
Vous devez vous connecter pour publier un commentaire.
J'avais restructurer le code à utiliser un
for
boucle au lieu d'unwhile
boucle. À l'aide d'unfor
boucle supprime la nécessité de mettre en œuvre manuellement une variable de compteur: