Python刽子手功能

时间:2013-11-11 02:50:02

标签: python

我在hangman中有一个函数,假设它会猜出字母并将其与单词匹配。这是功能:

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

该功能正在返回

“_ p p _ e无”

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

2 个答案:

答案 0 :(得分:3)

在函数末尾添加此行:

return ''

当猜测的词是空列表时,该函数没有任何内容可返回,因此它返回None。但你可以通过返回空字符来解决这个问题。实际上,这应该是递归函数的基本情况。

答案 1 :(得分:0)

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

这通过了所有案件。