2
respostas

[Dúvida] Erro no saca e não consigo avançar para transfere

Surgiu uma dúvida,Estou usando o Replit e estou tomando o seguinte erro:

 from conta import Conta    
 conta = Conta(123, "Nico", 55.5, 1000.0)    
Construindo objeto ... <conta.Conta object at 0x7fd8f8f83580>    
 conta2 = Conta(321, "Marco", 100.0, 1000.0)      
Construindo objeto ... <conta.Conta object at 0x7fd8f8f031f0>     
 valor = 10.00     
** conta2.saca(valor)     
Traceback (most recent call last):    
  File "<stdin>", line 1, in <module>     
  File "/home/runner/Python/conta.py", line 17, in saca     
    self.saldo -= valor    
AttributeError: 'Conta' object has no attribute 'saldo'**
2 respostas

Ao recompilar a classe Conta voltou ao normal. O chato disso é que toda vez que dá erro tenho que iniciar o projeto do zero.

Olá Sergio, tudo bem?

Pelo erro apresentado, é indicado que o objeto da classe Conta não possui o atributo saldo. Porém, como não tenho acesso ao seu código completo, é incerto dizer a instrução e linha exata que está sendo razão do erro. Portanto, verifique se você criou o atributo saldo na classe Conta e se ele está sendo inicializado corretamente no método construtor da classe.

O código completo desta aula segue abaixo para que você possa analisar eventuais diferenças:

class Conta:

    def __init__(self, numero, titular, saldo, limite):
        print("Construindo objeto ... {}".format(self))
        self.__numero = numero
        self.__titular = titular
        self.__saldo = saldo
        self.__limite = limite

    def extrato(self):
        print("Saldo de {} do titular {}".format(self.__saldo, self.__titular))

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

    def saca(self, valor):
        self.__saldo -= valor

    def transfere(self, valor, destino):
        self.saca(valor)
        destino.deposita(valor)


conta = Conta(123, "Nico", 55.5, 1000.0)
conta2 = Conta(321, "Marcos", 100.0, 1000.0)
conta.transfere(10.0, conta2)
conta.extrato()
conta2.extrato()

Fico a disposição em caso de dúvidas e caso o erro ainda persista, peço que compartilhe seu código ou projeto completo para eu possa te auxiliar de forma mais assertiva.

Espero ter ajudado e bons estudos!

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