'''Exercício proposto pela luri:
Crie uma classe chamada "Banco" que represente um banco. Essa classe deve ter os seguintes atributos:
Um atributo estático chamado "taxa_juros" que representa a taxa de juros do banco. Um atributo de instância chamado "saldo" que representa o saldo da conta bancária. A classe "Banco" deve ter os seguintes métodos:
Um método estático chamado "calcular_juros" que recebe um valor e retorna o valor acrescido da taxa de juros do banco. Um método de instância chamado "depositar" que recebe um valor e adiciona esse valor ao saldo da conta bancária. Um método de instância chamado "sacar" que recebe um valor e subtrai esse valor do saldo da conta bancária. Você pode implementar essa classe e testar os métodos criando instâncias da classe e realizando operações de depósito e saque. Lembre-se de utilizar corretamente os atributos estáticos e de instância.
'''
import os
class Banco:
taxa_juros = 0.10
saldos = []
cliente = ''
saque = 0
deposito = 0
def __init__(self,nome,saldo, montante = 0):
self._nome = nome
self._saldo = float(saldo)
self._montante = float(montante)
self._validacao = False
Banco.saldos.append(self)
def sacar():
Banco.saque = float(input('Digite o valor que deseja sacar: '))
for saldo in Banco.saldos:
if saldo._validacao == True:
saldo._saldo -= Banco.saque
print(f'O seu saldo agora é de {saldo._saldo} Reais')
def depositar():
Banco.deposito = float(input('Digite o valor que deseja depositar: '))
for saldo in Banco.saldos:
if saldo._validacao == True:
saldo._saldo += Banco.deposito
print(f'O seu saldo agora é de {saldo._saldo} Reais')
@ classmethod
def escolher_cliente(cls):
cls.cliente = input('Digite seu primeiro nome: ')
for saldo in cls.saldos:
if cls.cliente == saldo._nome:
saldo._validacao = True
@ classmethod
def resertar_atributos(cls):
for saldo in cls.saldos:
if cls.cliente == saldo._nome:
saldo._validacao = False
@classmethod
def calcular_juros(cls):
anos = int(input('Digite o numero de anos que deseja investir: '))
print('')
i = 0
while i < anos:
for saldo in cls.saldos:
if saldo._montante == 0:
saldo._montante = saldo._saldo + saldo._saldo*cls.taxa_juros
else:
saldo._montante += saldo._montante * cls.taxa_juros
i += 1
for saldo in cls.saldos:
if saldo._validacao == True:
print(f'Seu saldo atual é de {saldo._saldo} reais')
print(f'Seu saldo após {anos} anos será de {saldo._montante:.2f} reais')
saldo._montante = 0
saldo1 = Banco('lucas',10000.00)
saldo2 = Banco('milena',100000.00)
def nome_banco():
print('Banco do Brasil')
def menu_opcoes():
print('1 - Verificar Saldo')
print('2 - Sacar')
print('3 - Depositar')
print('4 - Finalizar o programa')
def voltar_menu_principal():
print('')
input('digite qualquer tecla para voltar ao menu: ')
print('')
main()
def subtitulo(texto):
linha = '*'*len(texto)
print(linha)
print(texto)
print(linha)
def escolher_opcoes():
opcao_escolhida = int(input('Digite o numero da opção que deseja escolher: '))
if opcao_escolhida == 1:
subtitulo('Verificar Saldo e Investimentos')
Banco.calcular_juros()
voltar_menu_principal()
elif opcao_escolhida == 2:
Banco.sacar()
voltar_menu_principal()
elif opcao_escolhida == 3:
Banco.depositar()
voltar_menu_principal()
elif opcao_escolhida == 4:
Banco.resertar_atributos()
print('volte sempre')
else:
print('bobao')
def main():
os.system('cls')
nome_banco()
menu_opcoes()
escolher_opcoes()
if __name__ == '__main__':
Banco.escolher_cliente()
main()
Queria uma avaliação desse código, saber se foi pelo menos no rumo. Também utilizei o aprendizado do curso imediatamente anterior a este.