Ich mache ein Hang-Man-Spiel. Wenn ich den Code ohne eine bedingte und Klassen gemacht habe, hat es gut funktioniert. Grundsätzlich sind meine Probleme mit dem folgenden Code:Python: Der Code widerspricht die bedingte abhängig von der Eingabe
Nur der Buchstabe "t" wird übereinstimmen. Ich kann keinen anderen Buchstaben finden.
Wenn ich beim ersten Versuch "t" eintrage, dann absichtlich die nächsten 4 Buchstaben falsch eingeben, wird es erst nach 7 Umdrehungen enden. Wenn ich jedoch zuerst einen anderen Buchstaben eintrage, wird er nach 4 falschen Drehungen enden, wie es sollte.
Meine Fragen ....
Wie kann ich es mit den anderen Buchstaben übereinstimmen, die in dem
self.word
Index sind?Warum gehorcht es nicht der Bedingung, die ich mit der While-Schleife in der Hauptmethode eingestellt habe, wenn ich bei meinem ersten Versuch "t" eintrage und danach alle anderen Buchstaben falsch lese?
class Hang(): def __init__(self): self.turns = 0 self.word = ['t', 'h', 'i', 's'] self.empty = ["__", "__", "__", "__"] self.wrong = [] def main(self): while self.turns < 4: for i in self.word: choice = raw_input("Enter a letter a-z: ") if choice == i: index = self.word.index(i) self.empty.pop(index) self.empty.insert(index, i) print self.empty else: print "Wrong" self.wrong.append(choice) print self.wrong print self.empty self.turns += 1 char1 = Hang() char1.main()
'index = self.word.index (i) 'Woher kommt das i in der index() -Methode? – staredecisis
@staredecisis tut mir leid, sollte index (wahl) sein – francium