1
resposta

[Sugestão] Pequena melhoria nos métodos de transferência e saque


class Conta:
    def __init__(self, numero: int, titular: str, saldo: float, limite: float):
        print(f"Construindo objeto...{self}")
        self.__numero = numero
        self.__titular = titular
        self.__saldo = saldo
        self.__limite = limite

    def extrato(self):
        print(f"Olá, {self.__titular}, seu saldo é de R${self.__saldo:.2f}")

    def sacar(self, desconto):
        if desconto > self.__saldo + self.__limite:
            print("Saldo insuficiente!")
        elif desconto > self.__saldo and desconto < self.__saldo + self.__limite:
            usar_credito = int(input("Você está prestes a usar seu limite, está certo disso? \n 1 - Sim   2 - Não "))
            if (usar_credito == 1):
                self.__saldo -= desconto
                print(f'Seu saldo é de {self.__saldo:.2f}')
            else:
                print("operação abortada")
        else:
            self.__saldo -= desconto
            print(f'Seu saldo é de {self.__saldo:.2f}')

    def depositar(self, deposito):
        self.__saldo += deposito
        print(f'foram depositados R${deposito:.2f}')

    def transferir(self, valor, destino):
        self.sacar(valor)
        destino.depositar(valor)
        print(f'Foram retirados R${valor:.2f} da conta de {self.__titular} e transferidos para {destino.__titular}')

conta2 = Conta(100, 'Marco', 1000,4000)

Construindo objeto...<conta.Conta object at 0x0000024B36950EE0>

conta1 = Conta(100,'Nico', 1000,3000)

Construindo objeto...<conta.Conta object at 0x0000024B36951B10>

conta1.transferir(1100, conta2)

Você está prestes a usar seu limite, está certo disso? 

 1 - Sim   2 - Não >? 1

Seu saldo é de -100.00

foram depositados R$1100.00

Foram retirados R$1100.00 da conta de Nico e transferidos para Marco

conta1.extrato()

Olá, Nico, seu saldo é de R$-100.00
1 resposta

Olá Paulo, tudo bem com você?

Meus parabéns pela implementação do código, realizar a validação de saldo e informar para o usuário que irá usar o limite é uma implementação importante, melhorando assim a experiência de usuário com o uso do código.

Lembre-se que pode contar sempre com o fórum Alura, seja para compartilhar o seu desenvolvimento ou para tirar suas dúvidas.

Fico à disposição.

Abraços e 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