Fehlermeldung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sarah353
User
Beiträge: 1
Registriert: Sonntag 25. Februar 2018, 17:33

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)
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@sarah353: was soll denn »Karte(3, 11)« bedeuten? Du mußt schon programmieren, was das bedeuten soll.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

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)
Antworten