Problem mit index()
Verfasst: Sonntag 10. Mai 2020, 20:56
Liebe Leute,
ich nerve mal wieder mit einer Anfängerfrage.
Ich habe zur Übung ein Zwei-Spieler-Hangman-Spiel programmiert. Das Spiel funktioniert tadellos, es gibt nur eine etwas unschöne Sache, die ich gerne begradigt hätte.
Vom Prinzip funktioniert der Anfang des Spiels so:
Über import getpass gibt Spieler 1 verdeckt ein Wort ein.
Dieses Wort wird in eine Liste umgewandelt.
Anschließend wird für jeden Buchstaben im Wort ein "_" ausgegeben.
Nun wollte ich gerne, zur Übersichtlichkeit, zusätzlich zu jedem "_" seine Position im Wort ausgeben lassen. Z.B. Wort ist "heute", Ausgabe:
"1_
2_
3_
4_
5_"
Hier ist das Stück Code, das ich dafür geschrieben habe:
Das funktioniert auch soweit, nur gibt index() immer nur den Index des ersten Mals aus, in der ein Element in der Liste auftaucht. Die Ausgabe im Fall von "heute" ist daher:
"1_
2_
3_
4_
2_ "
Daher die Frage: Gibt es einen einfachen Weg, diesen unschönen Nebeneffekt zu umgehen?
Vielen Dank im Voraus für Antworten!
P.S.:
Für den Fall, dass mehr von dem Code benötigt wird: https://gist.github.com/Ewwas17/59d805b ... 974e9363da
ich nerve mal wieder mit einer Anfängerfrage.
Ich habe zur Übung ein Zwei-Spieler-Hangman-Spiel programmiert. Das Spiel funktioniert tadellos, es gibt nur eine etwas unschöne Sache, die ich gerne begradigt hätte.
Vom Prinzip funktioniert der Anfang des Spiels so:
Über import getpass gibt Spieler 1 verdeckt ein Wort ein.
Dieses Wort wird in eine Liste umgewandelt.
Anschließend wird für jeden Buchstaben im Wort ein "_" ausgegeben.
Nun wollte ich gerne, zur Übersichtlichkeit, zusätzlich zu jedem "_" seine Position im Wort ausgeben lassen. Z.B. Wort ist "heute", Ausgabe:
"1_
2_
3_
4_
5_"
Hier ist das Stück Code, das ich dafür geschrieben habe:
Code: Alles auswählen
import getpass
word = getpass.getpass("Geben Sie das zu erratende Wort ein (nur kleine Buchstaben): ")
liste = []
strike = 0
for buchstabe in word:
liste.append(buchstabe)
for n in liste:
print (liste.index(n)+1, "_")
"1_
2_
3_
4_
2_ "
Daher die Frage: Gibt es einen einfachen Weg, diesen unschönen Nebeneffekt zu umgehen?
Vielen Dank im Voraus für Antworten!
P.S.:
Für den Fall, dass mehr von dem Code benötigt wird: https://gist.github.com/Ewwas17/59d805b ... 974e9363da