Seite 1 von 1

Probleme bei Bsp aus Think Python

Verfasst: Freitag 19. Juni 2009, 01:34
von SarahS
Ein freundliches Hallo an alle! Ich fange gerade erst an Python zu erlernen aber leider hakt es irgendwie an folgenden Beispiel aus dem Buch Think Python: http://en.wikibooks.org/wiki/Think_Python/Inheritance:

Code: Alles auswählen

class Card:
    """represents a standard playing card."""
    def __init__(self, suit=0, rank=2): # only used as default card
        self.suit = suit
        self.rank = rank
        
    suit_names = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
    rank_names = [None, 'Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']

    def __str__(self):
        return '%s of %s' % (Card.rank_names[self.rank], Card.suit_names[self.suit])

class Deck:

    def __init__(self):
        self.cards = []
        for suit in range(4):
            for rank in range(1, 14):
                card = Card(suit, rank)
                self.cards.append(card)
		
	def __str__(self):
	    res = []
	    for card in self.cards:
	        res.append(str(card))
	    return '\n'.join(res)

deck = Deck()
print deck
Der Terminal output ist immer nur der Verweis auf die Speicheradresse:

Code: Alles auswählen

<__main__.Deck instance at 0xb7d03c0c>
Insofern denke ich fast dass dort nur ein leeres Objekt hinterlegt ist, kann den Fehler aber nicht lokalisieren. Könnt Ihr mir mit Eurer Erfahrung vielleicht weiterhelfen?
Wäre euch soo dankbar! :)
Sarah

Verfasst: Freitag 19. Juni 2009, 04:56
von Zap
Hallo und Willkommen im Forum.

Also bei mir funktioniert das Beispiel.

Code: Alles auswählen

Ace of Clubs
2 of Clubs
3 of Clubs
4 of Clubs
5 of Clubs
...

Verfasst: Freitag 19. Juni 2009, 07:41
von The Spirit
welche python version nutzt du?

Verfasst: Freitag 19. Juni 2009, 09:57
von sma
SarahS, dein gezeigter Beispielcode ist korrekt. Du hast dich aber bestimmt beim Abtippen der `__str__`-Methode von `Deck` vertippt. Das sind zwei Unterstriche vor und nach dem `str`.

Stefan

Verfasst: Freitag 19. Juni 2009, 10:06
von SarahS
Vielen Dank an Euch! Jetzt funktioniert es bei mir auch! :D
Aber ist schon seltsam, hab mir gestern stundenlang den Kopf zerbrochen. :K naja, wird bestimmt nicht das letzte Mal gewesen sein...

Verfasst: Mittwoch 8. Juli 2009, 18:40
von Poolboy
SarahS hat geschrieben:Vielen Dank an Euch! Jetzt funktioniert es bei mir auch! :D
Aber ist schon seltsam, hab mir gestern stundenlang den Kopf zerbrochen. :K naja, wird bestimmt nicht das letzte Mal gewesen sein...
So gehts mir auch manchmal. Aller Anfang ist schwer ;) Aber es wird von Tag zu Tag besser. Man kriegt immer mehr Routine. Programmieren ist halt wie ein Instrument spielen :P