77 lines
2.0 KiB
Python
77 lines
2.0 KiB
Python
import random
|
|
|
|
woerter = ['Hund', 'Katze', 'Maus', 'Pferd', 'Laurenz']
|
|
versuche = 7
|
|
|
|
ratewort = random.choice(woerter)
|
|
|
|
erraten = []
|
|
falsche_bs = []
|
|
tracker_fbs = 0
|
|
|
|
nutzereingabe = ""
|
|
# speichert die Variable Nutzereingabe, damit später wieder drauf zugegriffen werden kann
|
|
|
|
|
|
for buchstaben in ratewort:
|
|
erraten.append('_')
|
|
|
|
# Für jeden Substring (Buchstaben) im zu erratenen Wort fügt er zur Liste "erraten" einen Unterstrich hinzu
|
|
|
|
print("Willkommen zu Mikamännchen! Du musst ein Wort erraten, zu Anfang ist dir nur die Länge bekannt. Du kannst nur einen Buchstaben pro Versuch raten, sollte er nicht im Wort vorkommen, wird Dir ein Leben abgezogen. Du hast sieben Leben.")
|
|
|
|
while versuche > 0:
|
|
|
|
for eintrag in erraten:
|
|
print(eintrag, end=" ")
|
|
|
|
# Geht jedes Zeichen in der Liste "erraten" durch und printet es, end="" macht, dass es ohne Zeilenumbreich in eine Zeile ausgegeben wird
|
|
|
|
print()
|
|
print("Verbleibende Leben:", versuche)
|
|
|
|
if tracker_fbs > 0:
|
|
print("Falsche Buchstaben bisher:", ", ".join(falsche_bs))
|
|
|
|
|
|
nutzereingabe = input("Dein Vorschlag? ").lower()
|
|
|
|
if nutzereingabe == ratewort:
|
|
print("Schummler.")
|
|
break
|
|
|
|
if nutzereingabe in falsche_bs:
|
|
print("Den hast du schon (falsch) erraten, Kollege")
|
|
continue
|
|
|
|
if len(nutzereingabe) != 1:
|
|
print("Bitte nur ein Buchstabe!")
|
|
continue
|
|
|
|
x = 0
|
|
|
|
richtig = False
|
|
|
|
for buchstaben in ratewort:
|
|
|
|
if nutzereingabe == buchstaben.lower():
|
|
print("Treffer!")
|
|
erraten[x] = ratewort[x]
|
|
richtig = True
|
|
x = x + 1
|
|
|
|
if richtig != True:
|
|
versuche = versuche - 1
|
|
falsche_bs.append(nutzereingabe)
|
|
tracker_fbs = tracker_fbs + 1
|
|
|
|
|
|
if versuche == 0:
|
|
print("Das war Dein letztes Leben, das Spiel ist beendet. Das Wort war:", ratewort)
|
|
|
|
if '_' not in erraten:
|
|
print("Gewonnen!")
|
|
print("Das Wort war:", ratewort)
|
|
break
|
|
|