1
resposta

Mão na massa: Verufucando saque

Bom dia. Segue código para avaliação. Obrigado!

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

    # O decorador @property muda a forma de chamar um método get e acessar um atributo.
    # Ele depende que os atributos sejam privados.
    # Sintaxe padrão:
    # @property
    # def atributo(self):
    #    return self.__atributo
    # Para usar o método:
    # objeto.atributo
    @property
    def saldo(self):
        return self.__saldo

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

    @property
    def limite(self):
        return self.__limite

    @property
    def numero(self):
        return self.__numero

    # O decorador @atributo.setter muda a forma de chamar um método set e alterar um atributo.
    # Ele depende que os atributos sejam privados.
    # Sintaxe padrão:
    # @atrobuto.setter
    # def atributo(self, argumento):
    #    implementação
    # Para usar o método:
    # objeto.atributo = argumento
    @limite.setter
    def limite(self, novo_limite):
        self.__limite = novo_limite

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

    def __possivel_movimentar(self, valor):
        valor_disponivel_a_sacar = self.__saldo + self.__limite
        return valor <= valor_disponivel_a_sacar

    def sacar(self, valor):
        self.__saldo -= valor if self.__possivel_movimentar(valor) else print("Saldo insuficiente")

    def transferir(self, valor, conta):
        if self.__possivel_movimentar(valor):
            self.sacar(valor)
            conta.depositar(valor)

    @staticmethod
    def codigos_bancos():
        return {"BB": "001", "Caixa": "104", "Bradesco": "237"}
1 resposta

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software