以下是子手游戏的代码。到目前为止,一切都工作正常,我遇到的唯一麻烦是弄清楚了如何在用户正确猜出的情况下用正确的字母转换带下划线的空格。我没有编写任何代码,正在寻求帮助。当前所做的就是即使您确实正确猜出了一个数字,也会返回空白下划线
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'])
这是我得到的一些输出
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.
如您所见,空白保持不变]