Solução - Criando a classe ContaCorrente

This commit is contained in:
Luiz Otávio
2022-12-01 09:40:19 -03:00
parent 6a83dca1cd
commit ed6137331b
2 changed files with 31 additions and 2 deletions

View File

@@ -2,7 +2,7 @@ import abc
class Conta(abc.ABC):
def __init__(self, agencia, conta, saldo):
def __init__(self, agencia, conta, saldo=0):
self.agencia = agencia
self.conta = conta
self.saldo = saldo
@@ -32,9 +32,37 @@ class ContaPoupanca(Conta):
self.detalhes(f'(SAQUE NEGADO {valor})')
class ContaCorrente(Conta):
def __init__(self, agencia, conta, saldo=0, limite=0):
super().__init__(agencia, conta, saldo)
self.limite = limite
def sacar(self, valor):
valor_pos_saque = self.saldo - valor
limite_maximo = -self.limite
if valor_pos_saque >= limite_maximo:
self.saldo -= valor
self.detalhes(f'(SAQUE {valor})')
return self.saldo
print('Não foi possível sacar o valor desejado')
print(f'Seu limite é {-self.limite:.2f}')
self.detalhes(f'(SAQUE NEGADO {valor})')
if __name__ == '__main__':
cp1 = ContaPoupanca(111, 222, 0)
cp1 = ContaPoupanca(111, 222)
cp1.sacar(1)
cp1.depositar(1)
cp1.sacar(1)
cp1.sacar(1)
print('##')
cc1 = ContaCorrente(111, 222, 0, 100)
cc1.sacar(1)
cc1.depositar(1)
cc1.sacar(1)
cc1.sacar(1)
cc1.sacar(98)
cc1.sacar(1)
print('##')

View File

@@ -35,3 +35,4 @@ Banco será responsável autenticar o cliente e as contas da seguinte maneira:
Só será possível sacar se passar na autenticação do banco (descrita acima)
Banco autentica por um método.
"""
import contas