gkuhl hat geschrieben:Rapfel hat geschrieben:(('', 1,) 6,)
Was soll denn das sein? So ein Ding existiert in Python nicht.
Naja, es ist ein Tupel in einem Tupel. Dazu mit "gemischten" Datentypen im ersten Tupel. So was kann man bauen - das geht ja auch! - die Frage nach der Bedeutung stellt sich aber. Was repräsentiert diese Struktur? Ich vermute mal schlimmes, nämlich das in ('',1) zunächst die Stelle steht, an der der geratene Buchstabe auftaucht und in '' eigentlich der Buchstabe stehen sollte, der angezeigt werden soll. In dem zweiten Teil (..., 6) steht dann die zweite Stelle, an der der Buchstabe vorkommt. Was aber dann bei drei oder mehr Vorkommen passiert, wage ich mal nicht zu überlegen
Kann aber auch sein, dass ich da vollkommen falsch liege!
Versuch doch wirklich mal dein Programm in übersichtliche Funktionen einzuteilen. Die Hauptfunktion könnte dann etwa so aussehen:
Code: Alles auswählen
def main():
print_welcome()
secret = create_secret_word()
result = play_game(secret)
print_endgame_statement(result)
gkuhl
Wobei ich mir eher zuerst Gedanken um die Datenstruktur machen würde (Wie merke ich mir Wörter, wie verwalte ich geratene Buchstaben, wie verwalte ich das halb erratene Wort (oder lasse ich mir das lieber generieren anhand des Suchwortes und der Buchstaben?!?), wie zähle ich Erfolge / Misserfolge beim raten, ....).
Anschließend dann einfach das Raten simulieren, also eine Funktion erstellen, die das Auswerten eines Rateversuches übernimmt. Der kann man doch zunächst zum Testen ein Wort übergeben und dazu seuqentiell jeweils einen Buchstaben, der das Raten simuliert. Wenn man dieser Funktion die benötigten Datenstrukturen übergibt und dann die Auswertung hinbekommt, ggf. mit Ausgabe o.ä. und die wichtigen werte zurückliefern kann, damit es in der "Rate"-Routine weitergehen kann, hat man schon das schwierigste geschafft. Der Rest ist dann doch nur noch Beiwerk.
Zumal man so eine kleine Funktion dann auch wunderbar interaktiv austesten kann!