我想获得关于hang子手游戏的一些帮助。我已经创建了这段代码,并花了很多时间来完善它,但仍然无法获得正确的输出。非常感谢您的帮助!Hang子手游戏代码
word = choose_word(wordlist)
letters = 'abcdefghijklmnopqrstuvwxyz'
numLetters = len(word)
print numLetters
import re
def hangman(word, numLetters):
print 'Welcome to the game, Hangman!'
print 'I am thinking of a word that is', numLetters, 'letters long'
remainingGuesses = 8
print 'You have', remainingGuesses, 'guesses left.'
letters = 'abcdefghijklmnopqrstuvwxyz'
print 'Available letters:', letters
guess = raw_input("Please guess a letter:")
def filled_word(wordy, guessy):
emptyWord = ['_']*numLetters
if wordy.find(guessy) != -1:
position = [m.start() for m in re.finditer(guessy, wordy)]
for x in position:
emptyWord[x] = guessy
strWord = ''.join(emptyWord)
print 'Good guess =', strWord
else:
strWord = ''.join(emptyWord)
print 'Oops! That letter is not in my word:', strWord
filled_word(word, guess)
emptyWord = ['_']*numLetters
print 'emptyWord =', ['_']*numLetters
while '_' in emptyWord and remainingGuesses>0:
remainingGuesses -= 1
print 'You have', remainingGuesses, 'guesses left'
letters = 'abcdefghijklmnopqrstuvwxyz'
def unused_letters(letters):
letters = 'abcdefghijklmnopqrstuvwxyz'
unusedLetters = str(list(letters).remove(guess))
letters = unusedLetters
return unusedLetters
letters = unused_letters(letters)
print 'Available letters:', letters
guess = raw_input("Please guess a letter:")
if word.find(guess) != -1:
position = [m.start() for m in re.finditer(guess, word)]
for x in position:
emptyWord[x] = guess
strWord = ''.join(emptyWord)
print 'Good guess ='+strWord
emptyWord = list(strWord)
else:
strWord = ''.join(emptyWord)
print 'Oops! That letter is not in my word:', strWord
print hangman(word, numLetters)
print '___________'
print 'Congratulations, you won!'
所以问题是,当我运行此,代码运行顺利,直到从第二猜测起,我得到Available letters = None
,而不是特定的字母。
此外,我猜这是否出现在单词中的字母不存储。即在猜测1中,代码返回单词(例如)'d____',但在猜测2中,在猜测'e'时,代码返回'e_'而不是'd_e__'。是因为赋值变量吗?局部和全局变量?我对此很困惑。
非常感谢您的帮助!非常感谢! :)
您是否尝试过通过与PDB代码步进/ IPDB时看到事情的变化? – dutt
对不起,我真的很新的python,你是什么意思,通过使用pdb/ipdb来查看什么时候改变? – inggumnator