1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Python ---- Objectos

Discussão em 'Programação' iniciada por onnix, 23 de Março de 2009. (Respostas: 4; Visualizações: 670)

  1. onnix

    onnix Power Member

    Boas
    Eis um modulo que tenho estado a fazer, para um jogo de cartas :

    # Modulo Cartas

    class Carta(object):
    """ Um baralho """

    NUMERO = ["A", "2", "3", "4", "5", "6", "7",
    "8", "9", "10", "J", "Q", "K"]
    NAIPE = ["e","p","c","o"]

    def __init__(self, numero, naipe):
    self.numero = numero
    self.naipe = naipe

    def __str__(self):
    rep = ""
    rep += self.numero + self.naipe
    return rep

    class Baralho(object):
    """Um conjunto de 52 cartas."""

    def __init__(self):
    self.baralho = []

    def populate(self):
    for num in Carta.NUMERO:
    for naip in Carta.NAIPE:
    self.baralho.append(Carta(num,naip))

    def __str__(self):
    if self.baralho:
    rep = ""
    for carta in self.baralho:
    rep += str(carta)
    else:
    rep += "vazio"

    def baralhar(self):
    import random
    random.shuffle(self.baralho)

    def dar_carta(self, outra_mao, carta, x_dar = 1):
    for i in x_dar:
    outra_mao.append(carta)

    def reunir_cartas(self):
    for num in Carta.NUMERO:
    for naip in Carta.NAIPE:
    self.baralho += [num,naip]
    random.shuffle(self.baralho)

    class Mao(Baralho):

    def __init__(self):
    self.mao = []

    def __str__(self):

    if self.mao:
    rep = ""
    for carta in self.mao:
    rep += str(carta)
    else:
    rep += "<Sem cartas em mao...>"


    # Teste de modulo


    carta1 = Carta("A","p")
    print carta1


    baralho1 = Baralho()
    baralho1.populate()
    print baralho1



    O problema é que ao fazer um print do objecto baralho1 retorna um erro da função __str__ de None Type ....
     
    Última edição: 23 de Março de 2009
  2. onnix

    onnix Power Member

    Resolvido

    :rolleyes: Bah Faltava um return rep no fim do método __str__ dah...
     
  3. python rulz
    qd for grande e forte kero dominar python :)
     
  4. AliFromCairo

    AliFromCairo Power Member

    Podes começar pelos manuais disponíveis no site oficial :007:.
     
  5. | Blasted |

    | Blasted | [email protected] Member

    E para colocar código utiliza as tags para esse efeito. Fica muito mais legivel para quem te quer ajudar ; )
     

Partilhar esta Página