Python中的错误:局部变量';字母';分配前参考

Python中的错误:局部变量';字母';分配前参考,python,Python,我在Python中工作,正在制作一款刽子手游戏 import random HANGMANPICS = [''' '''] words = 'ant baboon badger bat bear beaver camel cat clam cobra cougar coyote crow deer dog donkey duck eagle ferret fox frog goat goose hawk lion lizard llama mole monkey moose mouse

我在Python中工作,正在制作一款刽子手游戏

    import random
HANGMANPICS = [''' ''']
words = 'ant baboon badger bat bear beaver camel cat clam cobra cougar coyote crow deer dog donkey duck eagle ferret fox frog goat goose hawk lion lizard llama mole monkey moose mouse mule newt otter owl panda parrot pigeon python rabbit ram rat raven rhino salmon seal shark sheep skunk sloth snake spider stork swan tiger toad trout turkey turtle weasel whale wolf wombat zebra'.split()

def getRandomWord(wordList):
    # This function returns a random string from the passed list of strings.
    wordIndex = random.randint(0,len(wordList) - 1)
    return wordList[wordIndex]

def displayBoard(HANGMANPICS,missedLetters,correctLetters,secretWord):

    print(HANGMANPICS[len(missedLetters)])
    print()

    print('Missed letters:', end=' ')
    for letter in missedLetters:
       print(letter, end=' ')
    print()

    blanks='_'*len(secretWord)

    for i in range(len(secretWord)):# replace blanks with correctly guessed letters
       if secretWord[i] not in correctLetters:
          blanks = blanks[:i] + secretWord[i] + blanks[i+1:]

    for letters in blanks:
      print(letter, end='')
    print()

def getGuess(alreadyGuessed):

    while True:
      print('Guess a Letter')
      guess= input()
      guess=guess.lower()
      if len(guess)!= 1:
         print('Please enter a single letter.')
      elif guess in alreadyGuessed:
         print('You have already guessed that letter. Guess Again.')
      elif guess not in'abcdefghijklmnopqrstuvwxyz':
         print('Please enter a LETTER.')
      else:
         return guess

def playAgain():

   print('Do you want to play Again?(yes or no)')
   return input().lower().startswith('y')


print('H A N G M A N')
missedLetters = ''
correctLetters = ''
secretWord= getRandomWord(words)
gameIsDone= False

while True:
  displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord)


  guess= getGuess(missedLetters + correctLetters)

  if guess in secretWord:
      correctLetters= correctLetters + guess


      foundAllLetters = True
      for i in range(len(secretWord)):
         if secretWord[i] not in correctLetters:   
            foundAllLetters = False
            break
      if foundAllLetters:
         print('Yes! The secret word is "' + secretWord + '"! You have won!')
         gameIsDone = True
  else:
     missedLetters = missedLetters + guess

# Check if player has guessed too many times and lost
     if len(missedLetters)==len(HANGMANPICS)- 1:
        displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord)
        print('You have run out of guesses!\nAfter ' + str(len(missedLetters)) + ' missed guesses and ' + str(len(correctLetters)) + ' correct guesses, the word was "' + secretWord + '"')
        gameIsDone= True


  if gameIsDone:
     if playAgain():
        missedLetters = ''
        correctLetters= ''
        gameIsDone = False
        secretWord = getRandomWord(words)
     else:
        break
但在执行时,它显示的错误是

Traceback (most recent call last):
  File "E:\Python 3\hangman.py", line 114, in <module>
    displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord)
  File "E:\Python 3\hangman.py", line 83, in displayBoard
    print(letter, end='')
UnboundLocalError: local variable 'letter' referenced before assignment
回溯(最近一次呼叫最后一次):
文件“E:\Python 3\hangman.py”,第114行,在
显示板(挂图、漏字、更正字母、加密字)
文件“E:\Python 3\hangman.py”,第83行,在显示板中
打印(字母,结尾=“”)
UnboundLocalError:赋值前引用的局部变量“字母”
在循环中,您编写
字母
,然后使用
字母
。就这样

for letter in blanks:
      print(letter, end='')

谢谢你的回答。
for letter in blanks:
      print(letter, end='')