Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

resolução

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

        try :
            self._saldo= int(saldo)
        except ValueError:
            self._saldo = 0
            print('o saldo nao pode ser negativo')

        self.ativo=ativo

    def __str__(self):
        return f'{self.titular}, o seu saldo bancário é: {self._saldo}'

    def ativarconta(self):
        self.ativo= not self.ativo
        print('conta ativada' if self.ativo else 'conta desativada')

usuario1= ContaBancaria('fabricio',2000)
usuario2= ContaBancaria('alura',5000)


print(usuario1)
print(usuario2)


usuario1.ativarconta()
usuario2.ativarconta()


print(vars(usuario1))
print(vars(usuario2))

instanciaBancaria= ContaBancaria('Lucas',0)
print(instanciaBancaria.titular)

class ClienteBanco:
    def __init__(self, nome, idade,cpf,estado,cidade):
        self.nome=nome
        self.idade=idade
        self.cpf=cpf
        self.estado=estado
        self.cidade=cidade

    @property
    def idade(self):
        return self._idade

    @idade.setter
    def idade(self, valor):
        if valor < 0:
            raise ValueError('valor deve ser positivo')
        self._idade = valor

    @property
    def cpf(self):
        return self._cpf

    @cpf.setter
    def cpf(self, valor):
        if len(valor) !=11:
            raise ValueError('CPF deve ser 11')
        self._cpf = valor

    @classmethod
    def obter_nome(cls,texto):
        nome = texto.title()
        return nome

objeto1= ClienteBanco('robertin', 18,'62783304021', 'ceara','fortaleza')
objeto2= ClienteBanco('carlos',20,'55555555555','ceara','ibiapina')
objeto3= ClienteBanco('fabricia',19,'66666666666','rio grande do sul','gramado')
print(objeto1.nome)


print(vars(objeto1))
print(vars(objeto2))
print(vars(objeto3))


Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Fabricio! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de classes para estruturar objetos, utilizou muito bem propriedades e métodos para validar dados e ainda compreendeu a importância do encapsulamento para manter o código seguro e organizado.

Uma dica interessante para o futuro é implementar métodos adicionais para operações bancárias, como depósito e saque, garantindo maior funcionalidade. Assim:

def depositar(self, valor):
    if valor > 0:
        self._saldo += valor
        print(f'Depósito realizado. Novo saldo: {self._saldo}')
    else:
        print('Valor inválido para depósito')

def sacar(self, valor):
    if valor <= self._saldo:
        self._saldo -= valor
        print(f'Saque realizado. Novo saldo: {self._saldo}')
    else:
        print('Saldo insuficiente')

Isso faz a classe ficar mais completa e próxima de um sistema bancário real.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!