1
resposta

Resolução do exercício de conta bancária

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}')
1 resposta

Oii, Jackson! Tudo bem?

Agradeço por interagir aqui no fórum, compartilhando a sua resolução!

Muito bom, você adicionou a funcionalidade de ativar e listar contas, ficou ótimo! Isso demonstra um bom entendimento de conceitos de orientação a objetos em Python.

Parabéns pelo ótimo trabalho e continue assim!