diff --git a/00 - Fundamentos/desafio.py b/00 - Fundamentos/desafio.py index c2179f64d..5f9e75c63 100644 --- a/00 - Fundamentos/desafio.py +++ b/00 - Fundamentos/desafio.py @@ -1,3 +1,4 @@ +# menu incial menu = """ [d] Depositar @@ -6,61 +7,55 @@ [q] Sair => """ - +# variáveis saldo = 0 limite = 500 extrato = "" numero_saques = 0 LIMITE_SAQUES = 3 - +# iteração do sistema while True: opcao = input(menu) - +# op deposito if opcao == "d": valor = float(input("Informe o valor do depósito: ")) - +# deposito deve ser um valor acima de 0 if valor > 0: - saldo += valor - extrato += f"Depósito: R$ {valor:.2f}\n" - + saldo+=valor + extrato+=(f"Depósito: + R$ {valor:.2f}\n") + print("Operação válida, epósito realizado com sucesso!") else: - print("Operação falhou! O valor informado é inválido.") - + print("Operação inválido, depósito não realizado.") +# op saque elif opcao == "s": valor = float(input("Informe o valor do saque: ")) - - excedeu_saldo = valor > saldo - - excedeu_limite = valor > limite - - excedeu_saques = numero_saques >= LIMITE_SAQUES - - if excedeu_saldo: - print("Operação falhou! Você não tem saldo suficiente.") - - elif excedeu_limite: - print("Operação falhou! O valor do saque excede o limite.") - - elif excedeu_saques: - print("Operação falhou! Número máximo de saques excedido.") - - elif valor > 0: - saldo -= valor - extrato += f"Saque: R$ {valor:.2f}\n" - numero_saques += 1 - - else: - print("Operação falhou! O valor informado é inválido.") - +# saque deve ser até 500 reais, menor ou igual ao saldo e tem limite de 3 vezes diárias + valor_max_saque = 0 < valor <= 500 + saque_menor_saldo = valor <= saldo + quantidade_saques = LIMITE_SAQUES >= numero_saques +# se o saque for qualificável + if valor_max_saque and saque_menor_saldo and quantidade_saques is True: + saldo-=valor + numero_saques+=1 + extrato+=(f"Saque: - R$ {valor:.2f}\n") + print("Operação válida, saque realizado com sucesso!") +# por que o saque não é qualificável + elif valor_max_saque is False: + print("Operação inválida, saque permitido de até R$500.00.") + elif saque_menor_saldo is False: + print("Operação inválida, saldo insuficiente.") + elif quantidade_saques is False: + print("Operação inválida, limite diário de saques já foi atingido.") +# op extrato elif opcao == "e": - print("\n================ EXTRATO ================") - print("Não foram realizadas movimentações." if not extrato else extrato) - print(f"\nSaldo: R$ {saldo:.2f}") - print("==========================================") - + print("EXTRATO".center(27,"=")) + print(f"Sua atividade na conta:\n{extrato}") + print(f"Seu saldo atual: R$ {saldo:.2f}") + print("".center(27,"=")) +# op de sair elif opcao == "q": break - +# se nenhuma op for selecionada/escrita errada else: print("Operação inválida, por favor selecione novamente a operação desejada.")