Je crée une implémentation simple de Pendu pour un projet d'école et je suis actuellement coincé sur la tâche de faire apparaître une lettre dans le mot quand on le devine correctement. J'ai déjà un code qui génère des espaces vides en fonction du nombre de lettres dans le mot, ainsi que de presque tous les autres éléments du jeu dont j'ai besoin, mais je n'arrive pas à comprendre comment remplacer les espaces par des lettres correctes.Jeu Pendu en Python: comment remplacer les blancs par des lettres devinées
Je vous serais reconnaissant si vous gardiez les choses simples et expliquées car je suis encore relativement nouveau en programmation. Et si possible, pour ne pas avoir trop à changer de code.
Voici mon code:
import random
name = str(input("What's your name?"))
print("Hello,", name + "!")
failures = 0
allowed = 1
guessed = str()
wordlist = ['hangman', 'dinner', 'computer', 'america', 'olympics', 'football', 'minecraft', 'jacket', 'cabbage', 'electricity', 'dog',
'pasta', 'japan', 'water', 'programming', 'anaconda', 'onehunga', 'name', 'windows', 'curtains', 'bieber', 'kirito',
'montenegro', 'wheel', 'civilization', 'physics', 'bluebird' 'table', 'ACDC', 'guardian yam' 'mario', 'parachute', 'agario', 'obama',
'youtube', 'putin', 'dairy', 'christianity', 'club penguin', 'oskahlavistah', 'coins', 'agitating', 'jumping', 'eating',
'your mom', 'executive', 'car', 'jade', 'abraham', 'sand', 'silver', 'uranium', 'oscar is gay', 'bioshock', 'fizzle', 'moonman', 'watermelon',
'WAHAHAHAHAHA', 'steve jobs', 'extreme', 'weeaboo jones', 'hot damn', name]
def correct(guess):
if guess in word:
if guess not in guessed:
print("Correct")
return(True)
else:
if guess not in word and len(guess) == 1 and guess in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ':
if guess not in guessed:
print("Incorrect!")
return(False)
print("Guess this word!")
print("You can input any letter from A to Z and the space key.")
wordnumber = random.randint(0, len(wordlist))
word = (wordlist[wordnumber])
print("_ "*len(word))
while failures < allowed:
guess = str(input("Guess a letter!"))
if len(guess) != 1 or guess not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ':
print("That is not a letter, try again.")
if guess in guessed:
print("You have already guessed that letter, try again.")
iscorrect = correct(guess)
guessed = guessed, guess
if iscorrect == True:
print("Word display still in development")
if iscorrect == False:
print("You suck")
failures = failures+1
print("You have", allowed , "guesses left.")
if failures == allowed:
replay = str(input("Press 1 to play again, press 2 to exit."))
if replay == 1:
break
else:
quit()
#Now all I have to do is find a way to display positions of correct letters.
Il serait plus facile si vous pouvez donner juste ce 'string' que vous avez, ce que vous voulez remplacer, ce qui serait d sortie au lieu de l'ensemble du programme – vks
Le raison que j'ai donné mon code entier est que nous puissions trouver une réponse qui ne secoue pas le code. Quoi qu'il en soit, la chaîne que j'ai est wordnumber = random.randint (0, len (wordlist)) word = (liste de mots [nombre de mots]) print ("_" * len (mot)) – ahjfcshfghb
Si je savais comment formater ça ce serait génial xD – ahjfcshfghb