我在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无”
我想在最后摆脱无。我猜我有一个额外的迭代。但是,任何人都可以帮助我在最后没有运行额外的迭代吗?感谢。
答案 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
这通过了所有案件。