[Python] Syntax Fehler beim vergleichen von 2 werten


tom23

Mitglied
Hallo zusammen ich lerne gerade etwas Python für ein Blackjack spiel für die Schule und muss dabei 2 Werte vergleichen was ich eigentlich auch tue mit Folgendem Code:
Python:
                       if player_hand_value > dealer_hand_value:
                         print ("Du hast gewonnen")
                         elif player_hand_value == dealer_hand_value: #Syntax error in der Zeile
                             print("Unentschieden")
                             else:
                             print ("Der Croupie hat Gewonnen")
Allerdings bekomme ich die ganze zeit die Meldung das ich in der Zeile in der ich prüfe ob spieler und Croupie die gleiche Punktzahl haben einen Syntax fehler habe kommme aber nicht dahinter was Falsch sein soll und alle Personen die ich bisher her gefragt habe wissen auch nicht weiter deswegen wäre ich für Hilfe sehr dankbar.
 

Kili03

Grünschnabel
Du musst das elif und das else richtig einrücken sodass sie genau unter dem if beginnen, sonst funktioniert dass bei python nicht.
Python:
if player_hand_value > dealer_hand_value:
    print ("Du hast gewonnen")
elif player_hand_value == dealer_hand_value: #Syntax error in der Zeile
    print("Unentschieden")
else:
    print ("Der Croupie hat Gewonnen")
 

tom23

Mitglied
Funktioniert immer noch nicht vieleicht ist der Fheler ja weiter oben kenne mich mit der Einrückung noch nicht so ganz aus hier mal die ganze Klasse:
Python:
class Game:
    def __init__(self):
        pass

    def play(self):
        playing = True

        while playing:
         self.deck = deck()
         self.deck.shuffle()  

         self.player_hand = Hand()
         self.dealer_hand = Hand(dealer=True)

         for i in range(2):
             self.player_hand.add_cards(self.deck.deal())
             self.dealer_hand.add_cards(self.deck.deal())

             print("your Hand is:")
             self.player_hand.display()
             print()
             print("dealers hand is:")
             self.dealer_hand.display()

         choice = input ("Please choose [Hit/Stick] ").lower ()
         while choice not in ["h", "s", "hit", "stick"]:
             choice = input ("Please enter 'hit' or 'stick' (or H/S) ").lower()
             if choice in ['hit','h']:
                 self.player_hand.add_card(self.deck.deal())
                 self.player_hand.add.display()
                 if self.player_is_over():
                     print ("Du hast verloren!")
                     game_over = True
                 else:
                       player_hand_value = self.player_hand.get_value()
                       dealer_hand_value = self.dealer_hand.get_value()
                       print ("Finales ergebniss")
                       print ("Deine Hand:", player_hand_value)
                       print ("Die hand des Croupies", dealer_hand_value)
                     if player_hand_value > dealer_hand_value:
                         print ("Du hast gewonnen")
                     elif player_hand_value == dealer_hand_value: #Syntax error in der Zeile
                             print("Unentschieden")
                     else:
                             print ("Der Croupie hat Gewonnen")
                         game_over = True
     again = input ("Nach mal spielen? [J/N] ")
     while again.lower() not in ["y","n"]:
         again = input ("Bitte geben sie J(Ja) oder N(Nein) ")
         if again.lower() == "n";
         print ("Danke fürs spielen")
         playing = False              
         else:
             game_over = False
 

Neue Beiträge