python中的python2.7.6 UnboundLocalError
嘿,我正在为班级做一个python游戏,我已经犯了这个错误,这个错误已经困扰了我好几天了。下面是我遇到问题的代码部分。我也不知道如何让所有的字母都留在列表中。我需要修复什么才能按我需要的方式运行python中的python2.7.6 UnboundLocalError,python,python-2.7,Python,Python 2.7,嘿,我正在为班级做一个python游戏,我已经犯了这个错误,这个错误已经困扰了我好几天了。下面是我遇到问题的代码部分。我也不知道如何让所有的字母都留在列表中。我需要修复什么才能按我需要的方式运行 def update (blanks, letter, word): if letter in word: for i in range (len(blists)): if letter == word[i]: blists[i] = word[i]
def update (blanks, letter, word):
if letter in word:
for i in range (len(blists)):
if letter == word[i]:
blists[i] = word[i]
bstring = ''.join(blists)
return bstring
word = 'tomato'
letter = raw_input ('Please guess a letter. ')
blanks = '_' * len(word)
blists = list(blanks)
bstring = ''.join(blists)
wrong = ''
correct = ''
while True:
blanks = '_' * len(word)
blists = list(blanks)
bstring = ''.join(blists)
blanks_str = ''.join(blists)
letter = raw_input ('Please guess a letter. ')
i = update (blanks, letter, word)
print i
编辑:
我得到的错误是一个UnboundLocalError。当while循环启动update函数并且bstring是错误时,就会发生这种情况。它也不能做我想让它做的事。我希望它显示字符串上的单词,无论是正确的还是错误的。我希望它类似于hangman游戏的输出,它给出的错误消息是
Traceback (most recent call last):
File "hangman.py", line 24, in <module>
i = update (blanks, letter, word)
File "hangman.py", line 7, in update
return bstring
UnboundLocalError: local variable 'bstring' referenced before assignment
如果我没记错的话,您可以为它赋值这一事实意味着它将创建为局部变量,除非您显式地将其声明为全局变量。当您返回它时,如果您没有分配它,它会看到一个未分配的局部变量,因此会出现错误
至少我认为是这样的。当我加入全球宣言时,它对我起了作用 那有什么问题?你收到错误信息了吗?告诉我们消息。它做不到你想要的?你想要什么?它的作用是什么?
global bstring