Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

desafioOperacaoBancaria #223

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 71 additions & 63 deletions 00 - Fundamentos/desafio.py
Original file line number Diff line number Diff line change
@@ -1,66 +1,74 @@
menu = """

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

=> """

saldo = 0
limite = 500
extrato = ""
numero_saques = 0
LIMITE_SAQUES = 3
##DESAFIO Banco##

menu=(
"""
========Menu=========

[1] - Depositar
[2] - Sacar
[3] - Extrato
[0] - Sair

======================
"""
)
saldo, limite_diario_saque, numero_saques = 0, 500, 0
extrato, 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

opcoes = input(menu)

### DEPOSITAR###
if opcoes == "1":
valor = float(input("Qual o valor do deposito?\n\n"))
if valor > 0:
saldo += valor
extrato += f"Desposito na c/c R${valor:.2f}\n"

print(f"Valor depositado foi de: R${valor}")
else:
print("Operação inválida, por favor selecione novamente a operação desejada.")
print('O valor informado não é válido')


### SACAR###
elif opcoes == "2":
valor = float(input("Qual o valor do saque?\n\n"))
limite_excedeu = valor > limite_diario_saque
saldo_excedeu = valor > saldo
saque_numeros = numero_saques >= LIMITE_SAQUES



if limite_excedeu:
print(f'Limite de saque por dia excedido R$ ',{limite_diario_saque})

elif saldo_excedeu:
print(f'Saldo insuficiente R$ ',{saldo})

elif saque_numeros:
print(f'Ultrapassou o limite de saque por dia:',{numero_saques})


elif valor > 0:
saldo -= valor
extrato += f"Saque na c/c R${valor:.2f}\n"
numero_saques += 1
print(f"Valor sacado foi de: R${valor}")

else:
print('O valor informado não é válido')

### EXTRATO###
elif opcoes == "3":
print("\n========EXTRATO=============")
print("Sem Movimentações" if not extrato else extrato)
print(f"\nSaldo Atual: R$ {saldo:.2f}")
print("\n============================")

elif opcoes == "0":
break

else:
print('Opção inválida digite uma das opçoes: 1, 2, ou 3')