Der Grund, warum es abrupt endet, weil es auf einem zeichenweise Basis Überprüfung ist nicht das ganze Wort überprüft dann die Entscheidung, ob die Vermutung falsch war.
Here's my code for this solution, documented so you can understand:
im Grunde eine Variable, die als Schalter wirkt, wenn Sie eine richtige Vermutung einschalten, haben Sie dann eine Prüfung nach der ‚für‘ Schleife, um zu sehen, ob ein Leben weg genommen werden muss oder nicht.
Sie können sehen, dass dies ist, was ich mit der 'richtigen' Variable, die ich vor der Schleife erstellen, tun, und überprüfen Sie Folgendes.
hoffe, das hilft^^ Connor
bearbeiten.
Ich werde diese ein wenig nach unten brechen, so dass es nicht eine riesige Müllhalde ist: P
Überprüfen Sie den Code, wenn Du kannst keinen Sinn daraus machen.
Sie erhalten eine Eingabe, testen, dass es ein Buchstabe ist, und tun Sie den Stick mit dem Display.
über jedes Zeichen Kontrolle ist ...
#we need to check if we need to take a life away
correct = False
Hier wird der ‚Schalter‘ ich darüber gesprochen wird erstellt, nur eine Boolesche Variable.
Hier, wenn das Zeichen vorher angezeigt wurde, werden wir es auf dem neuen Display anzeigen.
#if the character is in the guess, add it to the display.
elif char in guess:
display += char
#we made a correct guess!
correct = True
Wenn der vermutete Charakter der Charakter ist, die wir zur Zeit an die Anzeige hinzufügen, werden überprüft, und drehen Sie den Schalter auf ‚True‘
#otherwise we need to add a blank space in our display.
else:
if char == ' ':
display += ' ' #space
else:
display += '_' #empty character
Sonst nichts passiert ist, in einem Raum hinzufügen/leer und fahre mit der Schleife fort.
#if we didn't get a correct letter, take a life.
if not correct:
lives -= 1
Hier ist Were überprüfen wir die ‚Schalter‘, wenn es ‚True‘ ist, wissen wir nicht, ein Leben nehmen müssen,
Ansonsten ist der ‚Schalter‚False‘und wir nehmen ein Leben .
vielleicht, weil Sie ein Leben für jeden char außer '' nehmen? – Julien
Vielleicht können Sie dies sehen: –
caimaoy
Für jeden Char-Check haben Sie ein Leben dekrementiert, stattdessen enthalten es nach der for-Schleife (einmal pro Iteration)? – Vinay