class ContaBancaria:
contas = []
# Construtor
def __init__(self, titular, saldo):
self._titular = titular
self._saldo = saldo
self._ativo = False
ContaBancaria.contas.append(self)
# Str
def __str__(self):
return f'Olá {self._titular} seu saldo atual é {self._saldo}'
# Metodo da classe para lista contas
@classmethod
def listar_conta(cls):
print(f'\n{'Titular'.ljust(25)} | {'Saldo'.ljust(25)} | {'Ativo'}')
for conta in cls.contas:
print(f'{conta._titular.ljust(25)} | {str(conta._saldo).ljust(25)} | {conta._ativo}')
#propriedades
@property
def titular(self):
return self._titular
@property
def saldo(self):
return self._saldo
@property
def ativo(self):
return '☑' if self._ativo else '☐'
# metodo para ativar a conta
def ativar_conta(self):
self._ativo = not self._ativo
conta1 = ContaBancaria('Claudio', 150)
conta2 = ContaBancaria('Mariana', 400)
print(conta1)
print(conta2)
ContaBancaria.listar_conta()
conta2.ativar_conta()
ContaBancaria.listar_conta()
conta3 = ContaBancaria('Freddy', 1000)
print(f'\nTitular da conta 3: {conta3._titular}')
# Classe ClienteBanco
class ClienteBanco:
def __init__(self, nome, idade, endereco, cpf, profissao):
self.nome = nome
self.idade = idade
self.endereco = endereco
self.cpf = cpf
self.profissao = profissao
@classmethod
def cria_conta(cls, titular, saldo):
conta = ContaBancaria(titular, saldo)
return conta
cliente1 = ClienteBanco('Joao', 35, 'Rua do Teste, 200', '00000000191', 'Professor')
cliente2 = ClienteBanco('Lucia', 45, 'Rua do Teste, 100', '00000000272', 'Vendedora')
cliente3 = ClienteBanco('Marcio', 35, 'Rua do Teste, 700', '00000000353', 'Motorista')
conta_cliente1 = ClienteBanco.cria_conta(cliente1.nome, 1500)
print(f'\nConta de {conta_cliente1._titular} criada com sucesso! Seu saldo inicial é de {conta_cliente1._saldo}')