def withdraw(account_auth):
    value_typed = input('Digite o valor a ser sacado: ')
    value_int = int(value_typed)

    if (value_int > accounts_list[account_auth]['value']):
        print('Não há saldo na conta para o valor informado.')
    else:
        money_slips_user = {}
        for money_slip, quantity in money_slips.items():
            if value_int // int(money_slip) > 0 and value_int // int(
                    money_slip) <= int(quantity):
                money_slips_user[money_slip] = value_int // int(money_slip)
                value_int -= value_int // int(money_slip) * int(money_slip)

        if value_int != 0:
            print('O caixa não tem cédulas disponíveis para este valor')
        else:
            accounts_list[account_auth]['value'] -= int(value_typed)
            for money_bill in money_slips_user:
                money_slips[money_bill] -= money_slips_user[money_bill]
            print('Pegue as notas:')
            print(money_slips_user)
            save_money_slips()
            print('Novo saldo da conta é: %d' %
                  accounts_list[account_auth]['value'])
Exemplo n.º 2
0
def withdraw(account):
    fCashOutValue_typed = input("Digite o valor que deseja sacar: ")
    fCashOutValue = float(fCashOutValue_typed)
    if (int(fCashOutValue) < account['balance_value']):
        money_slips_user = {}
        value_int = int(fCashOutValue_typed)

        for key, value in sorted(money_slips.items(), reverse=True):
            iKey = int(key)
            if value_int // iKey > 0 and value_int // iKey <= money_slips[key]:
                money_slips_user[key] = value_int // iKey
                value_int = value_int - value_int // iKey * iKey

        if value_int != 0:
            print('O caixa não tem cédulas disponíveis para este valor')
        else:
            for money_bill in money_slips_user:
                money_slips[money_bill] -= money_slips_user[money_bill]

            account['balance_value'] -= fCashOutValue

            print('Valor sacado R$: %s' % fCashOutValue)
            print('Saldo após o saque R$: %s' % account['balance_value'])
            print('Pegue as notas:')
            print(money_slips_user)
    else:
        print('O valor a ser sacado é maior que seu saldo atual.')
Exemplo n.º 3
0
def save_money_slips():
    file = open_file_bank('r')
    lines = file.readlines()
    file.close()
    file = open_file_bank('w')
    lines[0] = ""
    for money_bill, value in money_slips.items():
        lines[0] += money_bill + '=' + str(value) + ';'
    lines[0] += '\n'
    file.writelines(lines)
    file.close()
Exemplo n.º 4
0
def write_money_slips(file):
    for money_bill, value in money_slips.items():
        file.write(money_bill + '=' + str(value) + ';')