Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dando saída diferente na impressão da conda do Gui

Na aula de Listas com objetos de classes nossas está dando saída diferente da impressão na conta do gui. Logo no início do vídeo

O resultado que está aparecendo é esse:

<__main__.ContaCorrente object at 0x7f1103164eb0>

tentei avançar para o depósito de 500, mas o resultado continua o mesmo. Não consegui identificar o erro. Mexi nas identações e nada.

O código até então é esse:

class ContaCorrente:

def __init__(self, codigo):
  self.codigo = codigo
    self.saldo = 0

def deposita(self,valor):
  self.saldo += valor

def __str__(self):
  return "[>>Codigo {} Saldo {}<<]".format(self.codigo, self.saldo)
conta_do_gui= ContaCorrente(15)
print(conta_do_gui)

<__main__.ContaCorrente object at 0x7f1103164eb0>

Mais adiante o instrutor fala em formato STR. Como posso resolver?

Obrigado

2 respostas
solução!

Olá Ricardo, tudo bem com você?

O resultado apresentado no momento da impressão do objeto conta_do_gui está apresentando o local de memória onde o objeto foi salvo (<__main__.ContaCorrente object at 0x7f1103164eb0>), assim, temos o indício de que o método mágico __str__ não foi declarado dentro da classe ContaCorrente.

No código postado será necessário realizar a correção da indentação dos métodos da classe conta_do_gui para que eles sejam adicionados dentro da classe conta_do_gui. Peço que siga os passos abaixo onde é apresentado como realizar a correção da indentação do código.

  • Selecione os seguintes métodos com seu conteúdo: __init__, deposita e __str__
  • Pressione uma vez a tecla
  • Nesse momento os métodos serão adicionados a classe conta_do_gui
  • No método __init__. Clique à esquerda da linha self.codigo = codigo e pressione uma vez.
  • No método deposita. Clique à esquerda da linha self.saldo += valor e pressione uma vez.
  • No método __str__. Clique à esquerda da cláusula return e pressione uma vez.

Feita as mudanças, execute a célula que contém o código da classe e dê continuidade na aula Listas com objetos de classes nossas apartir do minuto 2:00.

Código completo com as mudanças já aplicadas

class ContaCorrente:

    def __init__(self, codigo):
        self.codigo = codigo
        self.saldo = 0

    def deposita(self,valor):
        self.saldo += valor

    def __str__(self):
        return "[>>Codigo {} Saldo {}<<]".format(self.codigo, self.saldo)

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Qualquer dúvida fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Resolvido, obrigado!