ich bin ziemlich neu in Python und arbeite mich aktuell mit einen Übungsbuch ran, wo mir ab und zu Ideen zur Erweiterung kommen. Hier handelt es sich um ein Ratespiel. Wo mit jedem falschen Buchstaben/Wort ein Leben abgezogen wird und mit jedem richtigen Buchstaben ein Fragezeichen enttarnt wird.
Meine Frage jetzt: Der Endsatz mit "Du hast gewonnen" kommt nur wenn man das ganze Wort auf einmal eingibt - Mein Ziel ist es aber auch wenn alle Buchstaben aufgelöst wurden und noch Leben übrig sind, anzuzeigen, dass man gewonnen hat, ohne das ganze Wort einzugeben.
Also wenn jeder Index des verdeckten Wortes aufgelöst wurde, automatisiert in "gewonnen" reinzuspringen.
Weiß nicht ob das jetzt hier mit der Einrückung funktioniert hat. (Der Code an sich funktioniert)
Danke.
_____________________________________________________________________________________________________________________________________
Code: Alles auswählen
import random
leben = 9
wörter = ['Pizza','Braut','Milch','Pferd']
geheim_wort = random.choice(wörter)
verdecktes_wort = list('?????')
herz = u'\u2764'
wort_richtig = False
def akt_verdeckt(buchstabe_geraten, geheim_wort, verdecktes_wort):
index = 0
while index < len(geheim_wort):
if buchstabe_geraten == geheim_wort[index]:
verdecktes_wort[index] = buchstabe_geraten
index = index + 1
while leben > 0:
print(verdecktes_wort)
print('Verbleibende Leben: ' + herz * leben)
raten = input('Rate einen Buchstaben oder das Wort: ')
if raten == geheim_wort:
wort_richtig = True
break
if raten in geheim_wort:
akt_verdeckt(raten, geheim_wort, verdecktes_wort)
else:
print('Falsch. Ein Leben weniger')
leben = leben - 1
if wort_richtig:
print("Du hast gewonnen! Das Wort war " + geheim_wort)
else:
print("Leider verloren! Das Wort war " + geheim_wort)
[\code]