Ich fange gerade nach einem Buch an zu lernen und habe da zwei Fragen die ich aus dem Buch heraus nicht beantwortet bekomme.
Die Zeile
Code: Alles auswählen
unbek_buchst = aktu_verdeckt(raten, geheim_wort, verdeckt_wort, unbek_buchst)
Die zweite Frage betrifft die Groß-/Kleinschreibung. Wenn das gesuchte Wort "Pizza" ist und ich ein kleines "p" eingebe, ist die Antwort natürlich falsch. Ich habe versucht ".lower" an alle möglichen Stellen hinzuzufügen, aber es klappt einfach nicht. Was übersehe ich?
Code: Alles auswählen
import random
leben = 7
wörter = ['Pizza', 'Braut', 'Tante', 'Sorge', 'Otter', 'Pferd']
geheim_wort = random.choice(wörter)
verdeckt_wort = list('?????')
herz = u'\u2764'
wort_richtig_geraten = False
unbek_buchst = len(geheim_wort)
def aktu_verdeckt(buchstabe_geraten, geheim_wort, verdeckt_wort):
index = 0 # Startet mit der Prüfung bei Position null
while index < len(geheim_wort): # ohne das prüft das Modul ewig lang weiter
if buchstabe_geraten == geheim_wort[index]: # [index] sorgt dafür, dass das Programm die korrekte Position findet
verdeckt_wort[index] = buchstabe_geraten
unbek_buchst = unbek_buchst - 1
index = index + 1
return unbek_buchst # Gibt die Anzahl an die Variable zurück, damit man sie nicht extra wo speichern muss
while leben > 0:
print(verdeckt_wort)
print('Verbleibende Leben: ' + herz * leben)
raten = input('Rate einen Buchstaben oder das Wort: ')
if raten == geheim_wort:
wort_richtig_geraten = True
break
if raten in geheim_wort:
unbek_buchst = aktu_verdeckt(raten, geheim_wort, verdeckt_wort, unbek_buchst)
else:
print('Falsch. Ein Leben weniger.')
leben = leben - 1
if unbek_buchst == 0:
wort_richtig_geraten = True
break
if wort_richtig_geraten: # wenn nichts dabei steht ist es automatisch True
print('Du hast gewonnen! Das Wort war ' + geheim_wort)
else:
print('Leider verloren! Das Wort war ' + geheim_wort)