1
resposta

Mãos na massa: Verificando o saque e métodos estáticos

class Conta:
    def __init__(self,numero, titular, saldo, limite):
        print(f"Construindo objeto ...{self}  ")
        self.__numero=numero
        self.__titular=titular
        self.__saldo=saldo
        self.__limite=limite
    pass
    def extrato(self):
        print(f"O saldo de {self.__saldo} é do titular {self.__titular}")

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

    #def __pode_sacar(self, valor_saque):
    #    return self.__saldo - valor_saque < 0

    def __pode_sacar_com_limite(self,valor_saque):
        valor_para_analisar=self.__limite + self.__saldo
        return valor_saque >= valor_para_analisar
    #Levando em consideração que o saque é realizado apenas para o valor existente em saldo e o limite é o limite de credito, se usa a opção de pode_sacar
    #Mas se levarmos em consideração que o limite é o limite de saque, devemos utilizar o metodo pode_sacar_com_o_limite.

    def saca(self,valor):
        if self.__pode_sacar_com_limite(valor):
            print(f"O valor de saque informado não é valido com o seu saldo atual, o saldo atual é {self.__limite+self.__saldo:02f}")
            #Como a atividade está seguindo os moldes do curso Alura, irei apenas deixar o metodo pode_sacar_com_o_limite.
        else:
            self.__saldo-=valor

    def transfere(self,valor,destino):
        if self.__saldo - valor < 0:
            print(f"O seu saldo é insuficiente para realizar essa transferência. Saldo atual R${self.__saldo:02f}")
        else:
            self.saca(valor)
            destino.deposito(valor)
    @property
    def saldo(self):
        return self.__saldo
    @property
    def titular(self):
        return self.__titular
    @property
    def limite(self):
        return self.__limite
    @limite.setter
    def limite(self,limite):
        self.__limite=limite
    @staticmethod
    def codigos_banco():
        return {'BB': '001', 'Caixa': '104', 'Bradesco':'237'}
1 resposta

Olá novamente Lucas! 🙂

Parabéns novamente pelo comprometimento com os estudos. Caso queira, você é muito bem vindo a colocar variações dos projetos da aula aqui no fórum e iniciar uma discussão com a nossa comunidade.

Vamos, juntos, aprender mais sobre programação em Python!

Continue assim e quaisquer questões é só entrar em contato! 😉