Je suis novice en programmation python. Je voudrais afficher un message de victoire après chaque entrée de lettre correcte et aucun message si une lettre incorrecte est entrée.Implémentez une boucle while dans mon jeu de type hangman/puzzle
J'ai écrit mon code de sorte qu'il n'accepte qu'une lettre à la fois et réduise une tentative de 1, qu'elle soit incorrecte ou correcte.
Comment pourrais-je être en mesure de mettre en œuvre une boucle while en cela pour que je ne garde pas à obtenir cette erreur:
builtins.TypeError: 'str' object does not support item assignment
word="banana"
word_list=list(word)
length=len(word_list)
word_list= set(word_list)
word_list=list(word_list)
answer=["_"]*length
answer=list(answer)
guess=[]
count = 4
win=False # boolean so we do not use an identifier in our if statements
user_guess=window.input_string("Guess a letter: ", x, y)
y = y + font_height
guess.append(user_guess)
while count > 0:
# Removes guesses if they are not in the word so that the blanks do not fill in with incorrect letters
for letter in guess:
if letter not in word_list:
guess.remove(letter)
else:
win=True
# Replaces blanks in empty list with the letter guess
for place,letter in enumerate(list(word)):
for i in range(len(guess)):
if letter == guess[i]:
answer[place]=guess[i]
answer=" ".join(answer)
update_message = 'The answer so far is: '
window.draw_string(update_message + answer,x,y)
y = y + font_height
#End Game
win_message = 'Good job! You got the word.'
lose_message = 'Not quite, the correct word was: '+word +' Better luck next time'
if win:
window.draw_string(win_message,x,y)
y = y + font_height
count -=1
else:
window.draw_string(lose_message,x,y)
y = y + font_height
count -=1
Quelle bibliothèque utilisez-vous? Ne ressemble pas à pygame. Veuillez fournir un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve). – skrx