Below is code for a hangman game. Everything thus far is working perfectly the only trouble I'm having is figuring out how to convert the underlined spaces with the correct letter when the user guesses correctly. I have no code written for it and am looking for some help. All it does currently is return the blank underlines even if you do guess a number correctly
import random
responses = {'title': 'Welcome to Hangman the Game!', 'rules':'Once you guess \
wrong 6 times you lose. Using the same letter twice does not count as a guess.', \
'correct':'Well done, your guess is correct!', \
'incorrect':'Sorry, your guess is incorrect...', \
'win':'Well done, you win!', \
'lose':'Out of guesses. You lose.'}
words = ['cat', 'dog', 'work', 'school', 'game', 'one', 'hangman', 'apple',
'orange', 'list', 'words', 'bicycle', 'four', 'snowing', 'backpack',
'computer', 'house', 'water', 'plant', 'hour']
game = random.choice(words)
print(game) # just in for ease of programming
guesses = 0
letter = []
length = len(game)
numletter = game.replace(game, '_ '*length) # display number of letters
while guesses < 6:
print(numletter) # need to replace this with the code I will hopefully learn from this
user = input('Guess a letter here: ')
if user in game:
if user not in letter:
print(responses['correct'])
if user not in game:
if user not in letter:
print(responses['incorrect'])
guesses += 1
if user not in letter:
letter.append(user)
print('You have guessed these letters', letter)
else:
print('You have already guessed that letter, try again.')
if user == game:
print(responses['win'])
break
else:
print(responses['lose'])
Here is some output I get
water
_ _ _ _ _
Guess a letter here: a
Well done, your guess is correct!
You have guessed these letters ['a']
_ _ _ _ _
Guess a letter here: w
Well done, your guess is correct!
You have guessed these letters ['a', 'w']
_ _ _ _ _
Guess a letter here: w
You have already guessed that letter, try again.
As you can see the blanks remain unchanged]
Aucun commentaire:
Enregistrer un commentaire