Deck-Karte-Klasse in python

Arbeite ich zum erstellen einer Klasse für das erste mal, und ich denke, dass ich getan habe alles, was zu bekommen laufen, aber ich bekomme immer noch paar Fragen, die 'list' object has no attribute 'shffule' also das problem hier ist, es wird nicht mische die Karten, und es wird Ihnen nicht sagen, die restlichen Karten, kann mir einer sagen was ich falsch mache? Vielen Dank im Voraus

 import random

 class card_deck:
     def __init__(self, rank, suite, card):


        self.rank= rank
         self.suite = suite
    def ranks(self):
         return self.rank
    def suites(self):
         return self.suite
     def cards(self,card):
         suit_name= ['The suit of Spades','The suit of Hearts', 'The suit of Diamonds','Clubs']
         rank_name=['Ace','2','3','4','5','6','7','8','9','10','Jack','Queen','King']


     def value(self):
         if self.rank == 'Ace':
             return 1
         elif self.rank == 'Jack':
             return 11
         elif self.rank == 'Queen':
             return 12
         elif self.rank == 'King':
             return 13
     def shffule(self):
         random.shuffle(self.cards)
     def remove(self,card):
         self.cards.remove(card)


     def cardremaining(self):
        self.suite-self.rank




 def main():
     try:
         deck=[]
         for i in ['Spades','Hearts', ' Diamonds','Clubs']:
         for c in ['Ace','2','3','4','5','6','7','8','9','10','Jack','Queen','King']:
                 deck.append((c, i))
         deck.shffule

         hand = []
         user =eval(input('Enter a number of cards: 1-7 '))
         print()
         while user <1 or user >7:
             print ("Only a number between 1-7:")
             return main()

         for i in range(user):
             hand.append(deck[i]) 
         print (hand)
     except ValueError:
         print("Only numbers")
         main()
shuffle ist eine Methode, card_deck Klasse, und Sie versuchen, es auf eine Liste. Konvertieren Sie Ihre Liste, um card_deck ersten.
Ich würde empfehlen, keine Schreibfehler es überall, zumindest.
Danke, ich habe eine andere Frage, die hier " Datei "/Users/user/Desktop/deck_class.py", line 55, in main hand.append(deck[i]) TypeError: 'type' - Objekt ist nicht subscriptable"
vielen Dank für deine Hilfe, es funktioniert jetzt, aber warum anstatt immer die Karte, die Namen bekomme ich [<class 'main.card_deck'>, 0, 1, 2]
Denn Sie brauchen, zu drucken name der Karte, nicht die Klasse (erstellen Sie eine separate Methode in Ihrer Klasse, zum Beispiel). Ihr Dolmetscher nicht wissen, dass Sie möchten, drucken Sie den Namen, wenn Sie sagen, zu drucken, eine Instanz einer Klasse...

InformationsquelleAutor CaVeMaN | 2013-11-16

Schreibe einen Kommentar