1
resposta

Resoluçao

1 - Crie uma classe chamada ContaBancaria com um construtor que aceita os parâmetros titular e saldo. Inicie o atributo ativo como False por padrã

class ContaBancaria:
    def __init__(self,titular = '', saldo = 0):
         self.titutar = titular
         self.saldo = saldo
         self.ativo = False

2 -Na classe ContaBancaria, adicione um método especial str que retorna uma mensagem formatada com o titular e o saldo da conta. Crie duas instâncias da classe e imprima essas instâncias.

    def __str__(self):
         return(f'Titular:{self.titutar}/Saldo:{self.saldo}/Status: {self.ativo}')

3 - Adicione um método de classe chamado ativar_conta à classe ContaBancaria que define o atributo ativo como True. Crie uma instância da classe, chame o método de classe e imprima o valor de ativo.

 def ativar_conta(self):
         self.ativo = not self.ativo

4 - Refatore a classe ContaBancaria para utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.


 class ContaBancariaPythonica:
     def __init__(self, titular,saldo):
         self.titular = titular
         self.saldo = saldo
         self.ativo = False


     def titular(self):
         return self._titular

     def saldo(self):
         return self._saldo

     def ativo(self):
         return self._ativo

5 - Crie uma instância da classe e imprima o valor da propriedade titular.

 conta4 = ContaBancariaPythonica('Marcelo', 1500)
 print(f'Titular da conta 4:{conta4.titular}')

6 - Crie uma classe chamada ClienteBanco com um construtor que aceita 5 atributos. Instancie 3 objetos desta classe e atribua valores aos seus atributos através do método construtor.

class ContaBancaria:
    def __init__(self,titular,saldo,profissao,cpf,endereco):
        self.titular = titular
        self.saldo = saldo
        self.profissao = profissao
        self.cpf = cpf
        self.endereco = endereco
    def __str__(self):
         return (f'Titular: {self.titular}, Saldo: {self.saldo}, Profissão: {self.profissao}, CPF: {self.cpf}, Endereço: {self.endereco}')
conta1 = ContaBancaria('Marcelo',2000,'Mecanico', '123.321.546-49','travessa Angelo Golin N 47')
conta2 = ContaBancaria('Jose',3000,'Motorista','000.000.000.-45','Campo mourao')
conta3 = ContaBancaria('Xico',3000,'Motorista','000.000.000.-45','Campo mourao')
conta4 = ContaBancaria('Jose Chavier',3000,'Motorista','000.000.000.-45','Campo mourao')

7 - Crie um método de classe para a conta ClienteBanco.

class criar_conta:
    def __init__(self,titular,saldo,):
        self.titular = titular
        self.saldo = saldo
    @classmethod
    def CriarConta(cls,titular,saldo,):
        conta = criar_conta(titular, saldo)
        return conta

conta_cliente1 = criar_conta.CriarConta("Mateus", 2000)
print(f"Conta de {conta_cliente1.titular} criada com saldo inicial de R${conta_cliente1.saldo}")
1 resposta

Boa tarde, Marcelo! Tudo bem com você?

Parabéns pelo seu trabalho com as classes de contas bancárias. Gostei da maneira como você implementou o método __str__ para fornecer uma representação formatada das instâncias, facilitando a leitura dos atributos. Além disso, a introdução de propriedades na abordagem "pythonica" traz uma organização mais clara e elegante ao seu código.

Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!