JES account balance function

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kidoman
    New Member
    • Mar 2013
    • 2

    JES account balance function

    am supposed to complete the following five functions, i have no idea how to do this. I will greatly appreciate any help

    The following five functions allow you to maintain the running balance of an account and print out lines relating to each transaction.

    You'll also need a global variable (balance?) to maintain the running balance of the account.

    1. def setBalance(amt) : # Defines (but doesn't print) the value of the account balance

    2. def printBalance(): # Displays current balance as a money value with a heading

    3. def printLedgerLine (date, amount, details): # with items (and the balance) spaced and formatted

    4. def deposit (date, details, amount): # Alter the balance and print ledger line

    5. def withdraw(date, details, amount): # Alter the balance and print ledger line

    Your task is to:
    complete the five (very short) functions by creating the code for the body of each function, and
    demonstrate that you code works by calling the functions, as is demonstrated below.

    So when these functions are called
    e.g.

    setBalance(500)
    printBalance()
    withdraw("17-12-2012", "BP - petrol", 72.50)
    withdraw("19-12-2012", "Countdown" , 55.50)
    withdraw("20-12-2012", "munchies", 1.99)
    withdraw("22-12-2012", "Vodafone", 20)
    deposit ("23-12-2012", "Income", 225)
    withdraw("24-12-2012", "Presents", 99.02)
    printBalance()
    The output is something like this:

    Current Balance is $ 500.00
    17-12-2012 BP - petrol $ 72.50 $ 427.50
    19-12-2012 Countdown $ 55.50 $ 372.00
    20-12-2012 munchies $ 1.99 $ 370.01
    22-12-2012 Vodafone $ 20.00 $ 350.01
    23-12-2012 Income $ 225.00 $ 575.01
    24-12-2012 Presents $ 99.02 $ 475.99
    Current Balance is $ 475.99

    So far i got:
    Code:
    def setBalance(amount):
    global balance
    assert isinstance(amount,numbers.number)
    balance = euros
    printNow(balance)
    Im not sure whats wrong, i only started programming a week ago, im so lost, please help me with this assignment
    thnx
    Last edited by Rabbit; Mar 26 '13, 03:41 PM. Reason: Please use code tags when posting code.
  • bvdet
    Recognized Expert Specialist
    • Oct 2006
    • 2851

    #2
    You must have some code framework in place to work with. What is "numbers.number "?

    Comment

    • kidoman
      New Member
      • Mar 2013
      • 2

      #3
      This is nearly the finished code except i need to the printledgerline function and i dont know what that is. please help me with this function

      Code:
      g_balance = 0
      
      
      def setBalance(amount):
          global g_balance
          if amount:
              g_balance = amount
      
      
      def printBalance():
          global g_balance
          if g_balance >=0:
            printNow("%s $%0.2f" % ("Currrent balance is",g_balance))
      
      
      def deposit (date, details, deposit):
        global g_balance
        g_balance = g_balance + deposit
        printNow("%s %10s \t\t$%10.2f \t$%10.2f" % (date,details,deposit, g_balance))
      
      def withdraw (date, details, withdraw):
        global g_balance
        g_balance = g_balance - withdraw
        printNow("%s %15s \t\t$%10.2f \t\t$%10.2f" % (date,details,withdraw, g_balance))
      Last edited by Rabbit; Apr 1 '13, 10:57 PM. Reason: Please use code tags when posting code.

      Comment

      Working...