Implémentation du jeu Python Hangman
Créez et exécutez un jeu Hangman en Python. Explorez la vérification des jeux de caractères, les compteurs d'essais restants et le remplacement des chaînes de mots masquées.
Aperçu
Hangman est un jeu de devinettes de mots qui forme les développeurs à la gestion des chaînes utilisateur, des listes de caractères mutables et des boucles de validation.
Le moteur sélectionne un mot aléatoire dans une liste prédéfinie. Il présente au joueur des espaces vides correspondant à la longueur du mot. À chaque supposition, la lettre est révélée ou le nombre d’erreurs restantes diminue d’une.
En Python, nous gérons ce flux de jeu en utilisant des listes de caractères au lieu de chaînes immuables, permettant des révélations rapides sur place tout en gardant une trace des caractères précédemment devinés pour éviter les pénalités.
Sortie de code et d'exécution
Un script de jeu Hangman en ligne de commande standard avec une entrée de session simulée.
import random
def play_hangman():
word_bank = ["python", "compiler", "terminal", "debugger", "variable"]
word = random.choice(word_bank)
guessed_word = ["_"] * len(word)
guessed_letters = set()
attempts_remaining = 6
print("Welcome to Hangman!")
print(f"Word length: {' '.join(guessed_word)}")
# Mocking guess inputs for deterministic run
mock_guesses = ["e", "o", "a", "t", "r", "n", "i", "m", "p", "c", "l"]
for guess in mock_guesses:
if attempts_remaining <= 0 or "_" not in guessed_word:
break
print(f"\nGuessing letter: '{guess}'")
if guess in guessed_letters:
print("You already guessed that!")
continue
guessed_letters.add(guess)
if guess in word:
for idx, char in enumerate(word):
if char == guess:
guessed_word[idx] = guess
print(f"Correct! Word state: {' '.join(guessed_word)}")
else:
attempts_remaining -= 1
print(f"Incorrect! Attempts remaining: {attempts_remaining}")
if "_" not in guessed_word:
print(f"\nCongratulations! You guessed the word '{word}'!")
else:
print(f"\nGame Over! The word was '{word}'.")
# Seed random to ensure output matches the word 'compiler'
random.seed(35)
play_hangman()Welcome to Hangman!
Word length: _ _ _ _ _ _ _ _
Guessing letter: 'e'
Correct! Word state: _ _ _ _ _ _ e _
Guessing letter: 'o'
Correct! Word state: _ o _ _ _ _ e _
Guessing letter: 'a'
Incorrect! Attempts remaining: 5
Guessing letter: 't'
Incorrect! Attempts remaining: 4
Guessing letter: 'r'
Correct! Word state: _ o _ _ _ l e r
... (guesses continue)
Congratulations! You guessed the word 'compiler'!Mise en œuvre étape par étape
- Apprentissage d'algorithmes d'analyse de chaînes conditionnelles
- Suivi d'état à l'aide d'ensembles pour des recherches d'historique uniques
- Construire des jeux éducatifs de terminaux interactifs
Foire aux questions
Pourquoi utiliser un jeu de lettres devinées ?
La vérification de l'appartenance aux ensembles Python s'exécute en un temps moyen O(1), tandis que les listes nécessitent un temps O(n). Cela garantit des recherches plus rapides lors de la vérification des suppositions précédentes.
Comment puis-je charger des listes de mots plus grandes ?
Vous pouvez charger des milliers de mots en lisant à partir d'un fichier texte à l'aide de la fonction `open()` de Python, ou les récupérer dynamiquement à l'aide d'un cadre de requêtes d'API Web.
Sujets connexes
Exécutez un jeu de terminal Tic-Tac-Toe en Python. Apprenez la gestion de l'état de la carte, la commutation des virages et les contrôles de condition.
Jeu Python Pierre Papier CiseauxCréez un jeu Pierre-Papier-Ciseaux en Python. Maîtrisez les choix aléatoires, la validation des entrées utilisateur et les mappages de règles relationnelles.