41 lines
932 B
Python
41 lines
932 B
Python
import abc
|
|
|
|
|
|
class Conta(abc.ABC):
|
|
def __init__(self, agencia, conta, saldo):
|
|
self.agencia = agencia
|
|
self.conta = conta
|
|
self.saldo = saldo
|
|
|
|
@abc.abstractmethod
|
|
def sacar(self, valor): ...
|
|
|
|
def depositar(self, valor):
|
|
self.saldo += valor
|
|
self.detalhes(f'(DEPÓSITO {valor})')
|
|
|
|
def detalhes(self, msg=''):
|
|
print(f'O seu saldo é {self.saldo:.2f} {msg}')
|
|
print('--')
|
|
|
|
|
|
class ContaPoupanca(Conta):
|
|
def sacar(self, valor):
|
|
valor_pos_saque = self.saldo - valor
|
|
|
|
if valor_pos_saque >= 0:
|
|
self.saldo -= valor
|
|
self.detalhes(f'(SAQUE {valor})')
|
|
return self.saldo
|
|
|
|
print('Não foi possível sacar o valor desejado')
|
|
self.detalhes(f'(SAQUE NEGADO {valor})')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
cp1 = ContaPoupanca(111, 222, 0)
|
|
cp1.sacar(1)
|
|
cp1.depositar(1)
|
|
cp1.sacar(1)
|
|
cp1.sacar(1)
|