0

我在刽子手中有一个功能,假设将猜测的字母与单词匹配。这是功能:

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[:]))

函数正在返回

“ _ pp _ e 无”

我想在最后摆脱 None 。我猜我有一个额外的迭代。但是,任何人都可以帮助我不要在最后运行额外的迭代吗?谢谢。

4

2 回答 2

3

在函数末尾添加这一行:

return ''

当guessedwords 是一个空列表时,该函数没有要返回的内容,所以它返回None。但是你可以通过返回空字符来解决这个问题。事实上,这应该是递归函数的基本情况。

于 2013-11-11T03:03:04.283 回答
0

def getGuessedWord(secretWord, lettersGuessed): lst= '' for e in secretWord: if e in lettersGuessed: lst += e else: lst += '_' return lst

这通过了所有案例。

于 2015-01-27T06:09:27.537 回答