digitalinnovationone / trilha-python-dio

3.12k stars 4.56k forks source link

Desafio Py - Sistema Bancario #247

Open Jeff1611 opened 1 month ago

Jeff1611 commented 1 month ago

menu = """

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> """

saldo = 0 limite = 1000 extrato = "" numero_saques = 0 LIMITE_SAQUES = 3

while True:

opcao = input(menu)

if opcao == "d":
    valor = float(input("Informe o valor do depósito: "))

    if valor > 0:
        saldo += valor
        extrato += f"Depósito: R$ {valor:.2f}\n"

    else:
        print("Operação falhou! O valor informado é inválido.")

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.")

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("==========================================")

elif opcao == "q":
    break

else:
    print("Operação inválida, por favor selecione novamente a operação desejada.")

===================================================================================

Execução:

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> d Informe o valor do depósito: 20000

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> e

================ EXTRATO ================ Depósito: R$ 20000.00

Saldo: R$ 20000.00

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> s Informe o valor do saque: 100

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> d Informe o valor do depósito: 2500

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> s Informe o valor do saque: 950

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> e

================ EXTRATO ================ Depósito: R$ 20000.00 Saque: R$ 100.00 Depósito: R$ 2500.00 Saque: R$ 950.00

Saldo: R$ 21450.00

[d] Depositar [s] Sacar [e] Extrato [q] Sair

=> q