import os
os.system('cls')
# 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ão.
# 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.
# 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.
# 4 - Refatore a classe ContaBancaria para utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.
# Crie uma instância da classe e imprima o valor da propriedade titular.
class ContaBancaria():
def __init__(self, titular, saldo):
self._titular = titular
self.saldo = saldo
self._ativo = False
def __str__(self):
status = 'Ativo' if self._ativo else 'Inativa'
return f'{self.titular.ljust(10)} | R$ {self.saldo:<10.2f} | {status}.\n\n'
def ativa_conta(self):
self._ativo = True
@property
def titular(self):
return self._titular
cliente1 = ContaBancaria('Peter', 100)
cliente2 = ContaBancaria('Tony', 5000)
cliente2.ativa_conta()
print(f'{cliente1}{cliente2}')
print(cliente1.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.
# 7 - Crie um método de classe para a conta ClienteBanco.
class ClienteBanco():
def __init__(self, titular, cpf, saldo, email, idade):
self.titular = titular
self.cpf = cpf
self.saldo = saldo
self.email = email
self.idade = idade
@classmethod
def ativar_conta(cls, cliente):
cliente._ativo = True
print(f'Conta do cliente {cliente.nome} foi ativada com sucesso!')
def __str__(self):
status = "Ativa" if self._ativo else "Inativa"
return f'Nome: {self.nome} | Idade: {self.idade} | Saldo: R$ {self.saldo:.2f} | Status: {status}'
cliente1 = ClienteBanco('Thor', 30, '123.456.789-00', 'thor@email.com', 1500.00)
cliente2 = ClienteBanco('Steve', 25, '987.654.321-00', 'steve@email.com', 2300.50)
cliente3 = ClienteBanco('Natasha', 40, '111.222.333-44', 'natasha@email.com', 5000.00)