Ich mache eine einfache textbasierte Hangman-Spiel, und ich möchte überprüfen, ob ein Benutzer eingegebene Buchstaben Teil einer Liste mit den Zeichen für das Wort, das der Benutzer ist soll raten.in Anweisung funktioniert nur einmal für eine Liste in Python
ist hier, dass ein Teil des Codes:
while True:
print "Guess a letter/The word (%d attempts remaining.)" % attempts
guess = raw_input()
if len(guess) == 1:
if guess in chars:
blankslist[chars.index(guess) * 2] = guess
blanks = "".join(str(x) for x in blankslist)
print blanks
else:
print "Nope!"
attempts -= 1
if attempts <= 0:
print "Game Over! The word was %s" % chosen_word
break
elif len(guess) == len(chosen_word):
if guess == chosen_word:
print "Congrats, you won with %d attempts left!" % attempts
else:
print 'Oh no, you lost... The correct word was "%s".' % chosen_word
break
else:
print("Input a single letter")
für Worte jedoch die doppelten Buchstaben enthalten, wie zum Beispiel „Nilpferd“, wird es nur eine „p“ erkennen. Wie kann ich beide erkennen lassen?
EDIT: Hinzugefügt ganze Schleife für jemanden, der gefragt hat.
können Sie für Schleife im Code hinzufügen, wie zu erraten und Zeichen erhalten nach jeder Schleife geändert –
'.index (rate)' gibt den ersten Index dieses Wertes zurück, durchläuft einfach die Liste und ersetzt alle Vorkommen. –
Warum ist 'Blankslist' doppelt so lang wie' chars'? –