以下是产生错误的函数:
def getGuessedWord(secretWord, lettersGuessed):
x = len(secretWord)-1
y = 0
letter = lettersGuessed[:]
while y <= x:
first=secretWord[y]
if first in letter:
return " " + first + " " + str(getGuessedWord(secretWord[1:], lettersGuessed[:]))
else:
return " _ " + str(getGuessedWord(secretWord[1:], lettersGuessed[:]))
return ''
它作为一个独立的函数工作,但当我尝试在模块中传递变量时,我得到:
第4行,在getGuessedWord中
letter = lettersGuessed[:]
TypeError: 'NoneType' object is not subscriptable
不确定错误在哪里。忘记提到它是一个刽子手游戏的一部分,所以我传递了生成的随机单词以及用户猜到的一封信。
答案 0 :(得分:0)
你显然在某个时候将None
作为第二个参数传递给了这个函数。您可以尝试在功能启动后添加print(secretWord, lettersGuessed)
,以了解如何到达目的地。
P.S。每次推荐时,您都不需要复制lettersGuessed
。
P.P.S。另外,你并没有真正使用while循环,你可以用if替换它。