Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

( The Account class ) Design a class named Account that contains: A private int

ID: 638138 • Letter: #

Question

(The Account class) Design a class named Account that contains:

A private int data field named id for the account.

A private float data field named balance for the account.

A private float data field named annualInterestRate that stores the current

interest rate.

A constructor that creates an account with the specified id (default 0), initial

balance (default 100), and annual interest rate (default 0).

The accessor and mutator methods for id, balance, and annualInterestRate.

A method named getMonthlyInterestRate() that returns the monthly

interest rate.

A method named getMonthlyInterest() that returns the monthly interest.

A method named withdraw that withdraws a specified amount from the

account.

A method named deposit that deposits a specified amount to the account.

Draw the UML diagram for the class, and then implement the class. (Hint: The method getMonthlyInterest() is to return the monthly interest amount, not the interest rate. Use this formula to calculate the monthly interest: balance * monthlyInterestRate. monthlyInterestRate is annualInterestRate / 12. Note that annualInterestRate is a percent (like 4.5%). You need to divide it by 100.)

Write a test program that creates an Account object with an account id of 1122, a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw $2,500, use the deposit method to deposit $3,000, and print the id, balance, monthly interest rate, and monthly interest.

Current code is:

class Account:
def __init__(self, id = 0, balance = 100, annualInterestRate = 0):
self.__id = id
self.__balance = 0
self__annualInterestRate = 0

def getId(self):
return self.__id

def getBalance(self):
return self. __balance

def getAnnualInterestRate(self):
return self.__annualInterestRate

def setId(self):
return self.__id = id

def setBalance(self):
return self.__balance = balance

def setAnnualInterestRate(self):
return self.__annualInterestRate = rate

def getMonthlyInterestRate(self):
return self.__annualInterestRate / 12

def getMonthlyInterest(self):
return self.__balance * self.getMonthlyInterestRate()
  

Not sure how to create the deposit and withdraw functions and a main to utilize it

Explanation / Answer

## Online URL for Testing : http://ideone.com/E55ZnH

class Account:
def __init__(self, id = 0, balance = 100, annualInterestRate = 0):
    self.__id = id
    self.__balance = balance
    self.__annualInterestRate = annualInterestRate

def getId(self):
    return self.__id

def getBalance(self):
    return self. __balance

def getAnnualInterestRate(self):
    return self.__annualInterestRate

def setId(self,id):
    self.__id = id

def setBalance(self,balance):
    self.__balance = balance

def setAnnualInterestRate(self,rate):
    self.__annualInterestRate = rate

def getMonthlyInterestRate(self):
    return self.__annualInterestRate / 12

def getMonthlyInterest(self):
    return self.__balance * self.getMonthlyInterestRate()/100

def deposit(self,amount):
    print ('Deposited %s to Account ID = %s' % (amount,self.getId()))
    self.__balance=self.__balance+amount

def withdraw(self,amount):
    print ('Withdrawan %s from Account ID = %s' % (amount,self.getId()))
    self.__balance=self.__balance-amount

def __str__(self):
    return 'id=%s, balance=%s, monthly interest rate=%s, monthly interest=%s' % (self.getId(),self.getBalance(),self.getMonthlyInterestRate(),self.getMonthlyInterest())

a=Account(1122,20000,4.5)
print(a)
a.deposit(2500)
print(a)
a.withdraw(3000)
print(a)


Output:

>>>

id=1122, balance=20000, monthly interest rate=0.375, monthly interest=75.0
Deposited 2500 to Account ID = 1122
id=1122, balance=22500, monthly interest rate=0.375, monthly interest=84.375
Withdrawan 3000 from Account ID = 1122
id=1122, balance=19500, monthly interest rate=0.375, monthly interest=73.125
>>>