Meine Schleife scheint über den ersten Buchstaben zu iterieren und bricht dann, obwohl es durch jeden Buchstaben im secretWord iterieren soll, zum Beispiel soll der Code unten "_pp_e" aber stattdessen drucken es druckt nur "_". Ich verstehe nicht, was ist das Problem mit diesem Code?For Schleife iteriert nur über den ersten Buchstaben
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']))
Nun, Sie kommen von der Funktion in der ersten Iteration zurück. 'return' ** beendet ** eine Funktion, da und dann, so dass die 'for'-Schleife nicht fortgesetzt wird. –
Sie sollten eine Reihe von Ergebnissen aus Ihrer Schleife erstellen, bevor Sie Ihre Antwort bestimmen, da Sie die Rückgabe kurzschließen, wie das, was Martijn gesagt hat. – Fallenreaper
Für pädagogische Zwecke können Sie das Listenverständnis auch dafür verwenden: ''. .join ([x wenn x in lettersGuessed else' _ 'für x in secretWord])' – Jaco