Seite 1 von 1

Fehlermeldung

Verfasst: Sonntag 25. Februar 2018, 17:39
von sarah353
Hallo Leute, ich bin gerade dabei ein Kartenspiel zu programmieren.
Python gibt mir jedoch bei der Zeile karte1=Karte(3,11) die Fehlermeldung "object() takes no parameters". Was muss ich machen, damit mir die die Karte ausgegeben wird??? :)

class Karte:
farbListe = ["Treff", "Pik", "Karo", "Herz"]
rangListe = ["nix", "As", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "Bube", "Dame", "König"]
karte1 = Karte(3, 11)
print(karte1)

Re: Fehlermeldung

Verfasst: Sonntag 25. Februar 2018, 18:01
von Sirius3
@sarah353: was soll denn »Karte(3, 11)« bedeuten? Du mußt schon programmieren, was das bedeuten soll.

Re: Fehlermeldung

Verfasst: Sonntag 25. Februar 2018, 20:05
von noisefloor
Hallo,

schau' dir noch mal an, wie man Klassen und Python schreibt und welche Sinn Methoden in Klassen haben - besonders, wozu die __init__ Methode gut ist. So, wie das bei dir aussieht, ist es ziemlich falsch bzw. zumindest sehr unvollständig.

Und das nächste Mal deinen Python-Code bitte in einen Codeblocksetzen. Dann ist er besser lesbar.

Gruß, noisefloor

Re: Fehlermeldung

Verfasst: Sonntag 25. Februar 2018, 22:12
von pixewakb
Ich habe es mal in Form gebracht. Teste mal das Snipplet, möglicherweise kommst du hiermit weiter?

Code: Alles auswählen

class Karte:

    farbListe = ["Treff", "Pik", "Karo", "Herz"] 
    rangListe = ["nix", "As", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Bube", "Dame", "König"] 

    def __init__(self, farbe, rang):

        self.farbe = self.farbListe[farbe]
        self.rang  = self.rangListe[rang]

    def __str__(self):
        return "{} {}".format(self.farbe, self.rang)


karte1 = Karte(1, 1)

print(karte1)