o meu script completo é esse:
from os import system, name
def limpaTela():
if name == 'nt':
system('cls')
else:
system('clear ')
def teste(i=1):
limpaTela()
if i >= 5: # Finaliza o programa após 5 iterações
exit()
y = input("--> Enter para continuar ...")
teste(i + 1)
def imprime(n, x, i=0):
if i == n:
return 1
else:
print("R${},00".format(x))
return imprime(n, x, i + 1)
def deposito(n100, n50, n20, n10, n5, n2, n1, total=0):
print("-- Para encerrar o depósito digite um valor negativo --")
dep = int(input("Coloque o Dinheiro: R$"))
if dep < 0:
print("Valor depositado: R${}".format(total))
return cofrinho(n100, n50, n20, n10, n5, n2, n1)
elif dep != 100 and dep != 50 and dep != 20 and dep != 10 and dep != 5 and dep != 2 and dep != 1:
print("Nota de R${:.2f} não reconhecida".format(dep))
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 100:
total = total + dep
n100 = n100 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 50:
total = total + dep
n50 = n50 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 20:
total = total + dep
n20 = n20 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 10:
total = total + dep
n10 = n10 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 5:
total = total + dep
n5 = n5 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 2:
total = total + dep
n2 = n2 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
elif dep == 1:
total = total + dep
n1 = n1 + 1
deposito(n100, n50, n20, n10, n5, n2, n1, total)
def saldo(n100, n50, n20, n10, n5, n2, n1):
print("Saldo atual: R${:.2f}".format((n100*100) + (n50*50) + (n20*20) + (n10*10) + (n5*5) + (n2*2) + (n1*1)))
def relatorio(n100, n50, n20, n10, n5, n2, n1):
print("Notas de R$100,00: {}\nNotas de R$50,00: {}\nNotas de R$20,00: {}\nNotas de R$10,00: {}\nNotas de R$5,00: {}\nNotas de R$2,00: {}\nNotas de R$1,00: {}".format(n100,n50,n20,n10,n5,n2,n1))
print("\nSaldo total: R${:.2f}".format((n100*100) + (n50*50) + (n20*20) + (n10*10) + (n5*5) + (n2*2) + (n1*1)))
def finalizar(n100, n50, n20, n10, n5, n2, n1):
if n100==0 and n50==0 and n20==0 and n10==0 and n5==0 and n2==0 and n1==0:
print("Não possui notas no cofre")
else:
valortotal=(n100*100) + (n50*50) + (n20*20) + (n10*10) + (n5*5) + (n2*2) + (n1*1)
a=input("Deseja sacar os R${}.00 antes de fechar (s/n)?".format(valortotal))
if a=="s":
imprime(n100, 100)
imprime(n50, 50)
imprime(n20, 20)
imprime(n10, 10)
imprime(n5, 5)
imprime(n2, 2)
imprime(n1, 1)
else:
print("Até a próxima")
return exit()
def cofrinho(n100, n50, n20, n10, n5, n2, n1):
a = int(input("1 - Depositar\n2 - Sacar\n3 - Saldo \n4 - Relatório\n5 - Finalizar\nEscolha uma opcao:"))
if a == 1:
deposito(n100, n50, n20, n10, n5, n2, n1)
cofrinho(n100, n50, n20, n10, n5, n2, n1)
if a == 2:
print("Notas disponiveis")
relatorio(n100, n50, n20, n10, n5, n2, n1)
saldoDisp = ((n100 * 100) + (n50 * 50) + (n20 * 20) + (n10 * 10) + (n5 * 5) + (n2 * 2) + (n1))
if saldoDisp == 0:
print("Não possui notas no cofre")
cofrinho(n100, n50, n20, n10, n5, n2, n1)
ValorSaque = int(input("Digite o valor a ser sacado: R%"))
valorReservado = 0
saqueNota100 = 0
saqueNota50 = 0
saqueNota20 = 0
saqueNota10 = 0
saqueNota5 = 0
saqueNota2 = 0
saqueNota1 = 0
if n100 != 0:
retorna = (ValorSaque - valorReservado) // 100
if retorna > n100:
retorna = n100
saqueNota100 = retorna
valorReservado = valorReservado + (saqueNota100 * 100)
if n50 != 0:
retorna = (ValorSaque - valorReservado) // 50
if retorna > n50:
retorna = n50
saqueNota50 = retorna
valorReservado = valorReservado + (saqueNota50 * 50)
if n20 != 0:
retorna = (ValorSaque - valorReservado) // 20
if retorna > n20:
retorna = n20
saqueNota20 = retorna
valorReservado = valorReservado + (saqueNota20 * 20)
if n10 != 0:
retorna = (ValorSaque - valorReservado) // 10
if retorna > n10:
retorna = n10
saqueNota10 = retorna
valorReservado = valorReservado + (saqueNota10 * 10)
if n5 != 0:
retorna = (ValorSaque - valorReservado) // 5
if retorna > n5:
retorna = n5
saqueNota5 = retorna
valorReservado = valorReservado + (saqueNota5 * 5)
if n2 != 0:
retorna = (ValorSaque - valorReservado) // 2
if retorna > n2:
retorna = n2
saqueNota2 = retorna
valorReservado = valorReservado + (saqueNota2 * 2)
if n1 != 0:
retorna = (ValorSaque - valorReservado) // 1
if retorna > n1:
retorna = n1
saqueNota1 = retorna
valorReservado = valorReservado + (saqueNota1 * 1)
if saldoDisp >= ValorSaque:
if valorReservado == ValorSaque:
n100 = n100 - saqueNota100
n50 = n50 - saqueNota50
n20 = n20 - saqueNota20
n10 = n10 - saqueNota10
n5 = n5 - saqueNota5
n2 = n2 - saqueNota2
n1 = n1 - saqueNota1
print("Pegue seu dinheiro:")
imprime(saqueNota100, 100)
imprime(saqueNota50, 50)
imprime(saqueNota20, 20)
imprime(saqueNota10, 10)
imprime(saqueNota5, 5)
imprime(saqueNota2, 2)
imprime(saqueNota1, 1)
else:
saq = 0
print("Não temos notas suficiente para este saque")
else:
resp = str(input(
"Saldo insuficiente. Temos apenas R${},00 em caixa.\n Deseja sacar esse valor (s/n)?".format(saldoDisp)))
if resp == "s":
n100 = n100 - saqueNota100
n50 = n50 - saqueNota50
n20 = n20 - saqueNota20
n10 = n10 - saqueNota10
n5 = n5 - saqueNota5
n2 = n2 - saqueNota2
n1 = n1 - saqueNota1
print("Pegue seu dinheiro:")
imprime(saqueNota100, 100)
imprime(saqueNota50, 50)
imprime(saqueNota20, 20)
imprime(saqueNota10, 10)
imprime(saqueNota5, 5)
imprime(saqueNota2, 2)
imprime(saqueNota1, 1)
if resp == "n":
print("Não temos saldo suficiente para este saque")
cofrinho(n100, n50, n20, n10, n5, n2, n1)
if a == 3:
saldo(n100, n50, n20, n10, n5, n2, n1)
cofrinho(n100, n50, n20, n10, n5, n2, n1)
if a == 4:
print("+---------------------------+\n| Relatório geral |\n+---------------------------+")
relatorio(n100, n50, n20, n10, n5, n2, n1)
cofrinho(n100, n50, n20, n10, n5, n2, n1)
if a == 5:
finalizar(n100, n50, n20, n10, n5, n2, n1)
cofrinho(1,1,1,1,1,1,1)
porém estou querendo simplificar essa função de saque e não estou conseguidno
E também não estou conseguindo colocar essa função Enter para continuar