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

Problemas com a criação de um set para o limite

Assim como indicado na aula, estou tentando criar um set para o limite utilizando @limite.setter, entretanto o pycharm está me retornando um erro dizendo que limite ainda não foi definido. Não estou conseguindo encontrar a solução para meu problema, se alguém souber agradeço. Segue o código:

class Conta:
    def __init__(self, numero, titular, saldo, limite):
        self.__numero = numero
        self.__titular = titular
        self.__saldo = saldo
        self.__limite = limite
        self.__codigo = '001'


    def __pode_sacar(self, valor):
        valor_total = self.__saldo + self.__limite
        return valor <= valor_total

    def sacar(self, valor):
        if self.__pode_sacar((valor)):
            self.__saldo -= valor
            print(f'Operação bem sucedida. Saldo atual: R${self.__saldo}')
        else:
            diferenca = valor - (self.__saldo + self.__limite)
            print(f'Não foi possível realizar a operação pois o valor ultrapassa em R${diferenca:.2f}')

    def depositar(self, valor):
        self.__saldo += valor
        print(f'Após o depósito de {valor}, o saldo atual desta conta é R${self.__saldo:.2f}')

    def extrato(self):
        print(f'Titular:{self.__titular}\n', f'Número da conta: {self.__numero}\n',
              f'Saldo: {self.__saldo}\n', f'Limite: {self.__limite}')

    def transferir(self, destino, valor):
        self.sacar(valor)
        destino.depositar(valor)

    @property
    def saldo(self):
        return self.__saldo

    @property
    def titular(self):
        return self.__titular

    @limite.setter
    def limite(self, limite):
        self.__limite = limite
    @staticmethod
    def codigo_banco():
        return '001'
2 respostas
solução!
Removido a pedido do usuario.

Aaah entendi. Obrigado Gerson.