# Desafios
# 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.
class ContaBancaria:
def __init__(self, titular, saldo):
self.titular = titular
self.saldo = saldo
self._ativo = False
# 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.
class ContaBancaria:
def __init__(self, titular, saldo):
self.titular = titular
self.saldo = saldo
self._ativo = False
def __str__(self):
return f"O titular da conta é {self.titular}, paralelamente, o saldo da conta é de {self.saldo}"
conta_1 = ContaBancaria("João", 15000)
print(conta_1)
conta_2 = ContaBancaria("Ravi", 16000)
print(conta_2)
# 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.
class ContaBancaria:
def __init__(self, titular, saldo):
self.titular = titular
self.saldo = saldo
self._ativo = False
def __str__(self):
return f"O titular da conta é {self.titular}, paralelamente, o saldo da conta é de {self.saldo}"
@classmethod
def ativar_conta(cls, conta):
conta._ativo = True
print(f"A conta foi ativada.")
conta_3 = ContaBancaria("Gael", 20000)
print(conta_3)
ContaBancaria.ativar_conta(conta_3)
# Refatore a classe ContaBancaria para utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.
class ContaBancaria:
def __init__(self, titular, saldo):
self._titular = titular
self._saldo = saldo
self._ativo = False
@property
def titular(self):
return self._titular
@property
def saldo(self):
return self._saldo
@property
def ativo(self):
return self._ativo
# Crie uma instância da classe e imprima o valor da propriedade titular.
conta_4 = ContaBancaria("Arthur", 30000)
print(conta_4.titular)
# 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 ClienteBanco:
def __init__(self, nome, idade, profissao, renda, CPF):
self.nome = nome
self.idade = idade
self.profissao = profissao
self.renda = renda
self.CPF = CPF
ClienteBanco.clientes.append(self)
cliente_1 = ClienteBanco("Noah", 28, "Médico", 8000, "123.456-78")
cliente_2 = ClienteBanco("Aurora", 25, "Dentista", 7300, "235.985-33")
cliente_3 = ClienteBanco("Ariel", 24, "Arquiteta de software", 8000, "325.174-33")
# Crie um método de classe para a conta ClienteBanco.
class ClienteBanco:
clientes = []
def __init__(self, nome, idade, profissao, renda, CPF):
self.nome = nome
self.idade = idade
self.profissao = profissao
self.renda = renda
self.CPF = CPF
ClienteBanco.clientes.append(self)
@classmethod
def desconto_de_taxas(cls):
for fregues in cls.clientes:
if fregues.renda > 7500:
print("Parabéns! Você se encontra na lista de indivíduos selecionados nos descontos de taxas do banco.")
cliente_1 = ClienteBanco("Noah", 28, "Médico", 8000, "123.456-78")
cliente_2 = ClienteBanco("Aurora", 25, "Dentista", 7300, "235.985-33")
cliente_3 = ClienteBanco("Ariel", 24, "Arquiteta de software", 8000, "325.174-33")
ClienteBanco.desconto_de_taxas()