Ich benutze ein Buch namens Python-Programmierung: Eine Einführung in die Computerprogrammierung und ich bin in einer Programmierübung in Kapitel 10 stecken. Es fragt nach einem Programm, das eine Spielkarte anzeigt, nachdem der Benutzer den Wert der Karte und ihre Farbe einfügt . Auch sollte ich mit drei Methoden plus zwei Konstrukteurs sein, hier sind sie:Ich erhalte die Fehlermeldung Unerwarteter EOF beim Parsen?
__init__(self, rank, suit):
getRank(self)
getSuit(self)
BJValue(self)
__str__(self)
Aber, wie ich es ein Fehler ausgeführt wird angezeigt ..... Hier ist meine Arbeit:
from random import randrange
class Card:
def __init__(self, rank, suit):# This constructor creates the corresponding card according to their ranks:
self.rank = rank # "d"=diamonts, "c"=clubs, "h"=hearts, or
"s"=spades
self.suit = suit
def getRank(self):# Returns the rank of the card.
ranks = [None, "Ace", "2", "3",
"4", "5", "6", "7", "8",
"9", "King", "Queen", "Jack"]
self.rank = ranks[self.rank]
return self.rank
def getSuit(self):# Returns the suit of the card.
suits = ["diamons", "heart", "club", "spades"]
# TRY TO MAKE THIS PIECE OF CODE MORE ABSTRACT!!!!
if self.suit[0] == "d":
self.suit = suits[0]
elif self.suit[0] == "h":
self.suit = suits[1]
elif self.suit[0] == "c":
self.suit = suits[2]
elif self.suit[0] == "s":
self.suit = suits[3]
return self.suit# A suit in Blackjack means the symbol of the card.
def BJValue(self):# Returns the Blackjack value of a card.
# For example Aces count as 1 and face cards count as 10.
while 0 < self.rank <= 10:
if self.rank == "Ace":
self.rank = 1
self.bjvalue = self.rank
elif self.rank[0] == "King" or self.rank[0] == "Queen" or self.rank[0] == "Jack":
self.rank = 10
self.bjvalue = self.rank
else:
self.bjvalue = self.rank
return self.bjvalue
def __str__(self):# Returns a string that names the card. For example "Ace of Spade".
print("{0} of {1}".format(self.rank, self.suit)
Es tut mir leid für mein Englisch, aber ist nicht meine erste Sprache.
Schauen Sie sich die Zeile an, auf die der Fehler zeigt. Sieht es falsch aus? – Blender
Es zeigt direkt nach dem zweiten Konstruktor def __str __ (self), wo es mit dem Format endet. –
Zählen Sie Ihre Klammern. – chepner