On 7/2/2016 8:58 PM, cadenmr...@gmail.com wrote:
When i run the code I get this error :
Traceback (most recent call last):
  File "C:/Python25/chapter2", line 18, in <module>
    bank=InterestAccount(5,1000,0.5)
NameError: name 'InterestAccount' is not defined

I can't find the issue, any help?


class BankAccount:
    def __init__(self,numb,bal):
        self.numb = numb
        self.bal = bal
    def showbal(self):
        print "Your balance is", self.bal
    def withdraw(self,wa):
        self.bal-=wa
        print("Your balance is now", self.bal)
    def deposit(self,da):
        bal+=da
        print("Your balance is now", self.bal)
    class InterestAccount():
        def BankAccount__init__(self,numb,bal,intrate):
            self.intrate=intrate
        def addintrest(self):
            self.bal = self.bal * self.intrate

InterestAccount should not be nested. It should subclass BankAccount. You should write the subclass init as shown. Do put spaces after commas.

class InterestAccount(BankAccount):
    def __init__(self, numb, bal, intrate):
        BankAccount(self, numb, bal)
        self.intrate=intrate
    def addintrest(self):
        self.bal = self.bal * self.intrate

bank=InterestAccount(5, 1000, 0.5)
bank.addintrest()
bank.showbal()

I believe the above will not do as you expect.


--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to