私のループは最初の文字を繰り返しているように見えますが、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'します。 'return' **は関数を終了します。そこで、' for'ループは続行しません。 –
あなたの答えを決定する前にループの結果セットを作成する必要があります.Martijnのように、リターンを短絡しています。 – Fallenreaper
教育的な目的のために、これにもリストの理解を使うことができます: ''' .join(xの場合はxの場合はlettersGuardsedを、secretWordの場合はxのために '_')' – Jaco