# Ex. 1
class ContaBancaria:
def __init__(self, titular='', saldo=0.0):
# "title()" Sempre capilatiza a 1ª letra dos nomes
self._titular = titular.title()
# Formata para exibir duas casas de centavos
self._saldo = '{:.2f}'.format(float(saldo))
# Conta sempre inicia inativa
self._ativo = False
# Ex. 2
class ContaBancaria:
def __init__(self, titular='', saldo=0.0):
# "title()" Sempre capilatiza a 1ª letra dos nomes
self._titular = titular.title()
# Formata para exibir duas casas de centavos
self._saldo = '{:.2f}'.format(float(saldo))
# Conta sempre inicia inativa
self._ativo = False
def __str__(self):
return f'Titular: {self._titular.ljust(16)} - Saldo: R${self._saldo}'
conta_1 = ContaBancaria('bill gates', 123456789.10)
conta_2 = ContaBancaria('Eduardo', 2500.00)
print(conta_1)
print(conta_2)
print()
Ex. 3
class ContaBancaria:
def __init__(self, titular='', saldo=0.0):
# "title()" Sempre capilatiza a 1ª letra dos nomes
self._titular = titular.title()
# Formata para exibir duas casas de centavos
self._saldo = '{:.2f}'.format(float(saldo))
# Conta sempre inicia inativa
self._ativo = False
def __str__(self):
return f'Titular: {self._titular.ljust(16)} - Saldo: R${self._saldo.ljust(16)} - ativo: {self._ativo}'
@classmethod
def ativar_conta(cls, cta):
cta._ativo = True
# Cria uma instância da classe ContaBancaria
conta_1 = ContaBancaria('mônica', 4500.00)
print(conta_1) # Imprime os dados da conta nova
ContaBancaria.ativar_conta(conta_1) # Ativa a conta
print(conta_1) # Imprime os dados atualizados
Exs. 4 e 5
class ContaBancaria:
def __init__(self, titular, saldo):
# "title()" Sempre capilatiza a 1ª letra dos nomes
self._titular = titular.title()
# Formata para exibir duas casas de centavos
self._saldo = '{:.2f}'.format(float(saldo))
# Conta sempre inicia inativa
self._ativo = False
def __str__(self):
return f'Titular: {self._titular.ljust(16)} Saldo: R${self._saldo.ljust(16)} Status: {self.ativo}'
@property
def titular(self):
return self._titular
@property
def saldo_com_saudacao(self):
return f'Olá {self._titular}! Seu saldo atual é de: R${self._saldo}'
@property
def ativo(self):
return '☒' if self._ativo else '☐'
@classmethod
def ativar_conta(cls, cta):
cta._ativo = True
# Ex. 5:
conta_1 = ContaBancaria('bill gates', 123456789.10)
print(f'Titular: {conta_1.titular}')
print()
ContaBancaria.ativar_conta(conta_1) # Ativa a conta
print(conta_1) # Imprime dados da conta atualizados
print()
# Mensagem com saudação
print(conta_1.saldo_com_saudacao)
print()
Exs. 6 e 7
class ClienteBanco:
clientes = [] # Lista para armazenar os clientes e seus dados
# Constrtor
def __init__(self, nome, sobrenome, cpf, email, telefone):
self.nome = nome
self. sobrenome = sobrenome
self.cpf = cpf
self.email = email
self.numero = telefone
ClienteBanco.clientes.append(self)
# 7. Crie um método de classe para a conta ClienteBanco:
# Método para imprimir os dados de clientes formatados
@classmethod
def listar_clientes(cls):
print(f' {'CLIENTE'.ljust(24)} {'CPF'.ljust(18)} {'e-MAIL'.ljust(22)} {'Nº TEL.'}')
for cliente in cls.clientes:
print(f'{cliente.nome} {cliente.sobrenome.ljust(24 - (len(cliente.nome) + len(cliente.sobrenome)))} {cliente.cpf.ljust(20)} {cliente.email.ljust(25)} {cliente.numero}')
# Cria instâncias da classe ClienteBanco
cliente_1 = ClienteBanco('Eduardo', 'Peres', '888.555.222-11', 'eduardo@mail.com', '95549-4269')
cliente_2 = ClienteBanco('Sandra', 'Lopes', '200.100.300-88', 'sand.lps@mail.com', '99279-1820')
cliente_3 = ClienteBanco('Irene', 'Perez', '444.555.666-22', 'irene.lopez@mail.com', '5276-5354')
# Usando o método de classe
ClienteBanco.listar_clientes()