Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio proposto pela luri

'''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.

1 resposta
solução!

Oii, como vai? Espero que esteja bem!

Fico feliz em ver que realizou a atividade, é isso aí! Continue se dedicando aos estudos e colocando em prática seus conhecimentos

Caso tenha dúvidas, fico à disposição.

Abraços e boa jornada de estudos!