我的循环似乎遍历第一个字母,然后打破它应该遍历secretWord中的每个字母,例如,代码波纹管应该打印出“_pp_e”,但是它只打印“_”。我不明白,那个代码有什么问题?for循环仅遍历第一个字母
def getGuessedWord(secretWord, lettersGuessed):
'''
secretWord: string, the word the user is guessing
lettersGuessed: list, what letters have been guessed so far
returns: string, comprised of letters and underscores that represents
what letters in secretWord have been guessed so far.
'''
# FILL IN YOUR CODE HERE...
for letter in secretWord:
if letter in lettersGuessed:
return letter
else:
return '_'
print(getGuessedWord("apple", ['e', 'i', 'k', 'p', 'r', 's']))
那么,你在第一次迭代中从函数返回。 'return' **结束了一个函数,在那里,所以'for'循环也不会继续。 –
您应该在确定您的答案之前从您的循环中创建一组结果,因为您正在缩短回报,就像Martijn所说的那样。 – Fallenreaper
为了教育目的,你也可以使用列表理解:'''.join([如果x中的字母被猜出,'secret'中的x''))' – Jaco