i cant seem to figure out the error

MRAB python at mrabarnett.plus.com
Sun Apr 3 13:36:43 EDT 2016


On 2016-04-03 16:06, anthony uwaifo wrote:
> hi everyone,
>
> please i need help with this assignment. I have written a code and i still
> get an error. please help me debug my code.
>
> instructions:
>
>     - Create a constructor that takes in an integer and assigns this to a
>     `balance` property.
>     - Create a method called `deposit` that takes in cash deposit amount and
>     updates the balance accordingly.
>     - Create a method called `withdraw` that takes in cash withdrawal amount
>     and updates the balance accordingly. if amount is greater than balance
>     return `"invalid transaction"`
>     - Create a subclass MinimumBalanceAccount of the BankAccount class
>
>
> My code:
>
> class BankAccount(object):
>    def __init__(self, balance):
>      self.balance = balance
>
>
>    def deposit(self, amount):
>      self.amount=amount
>      self.balance += amount
>      return self.balance
>
>
>    def withdraw(self, amount):
>      self.amount=amount
>      if(amount > self.balance):
>        return ("Amount greater than available balance.")
>      else:
>    self.balance -= amount
>      return self.balance
>
>
>
> class MinimumBalanceAccount(BankAccount):
>    def __init__(self, minimum_balance):
>      BankAccount.__init__(self)
>      self.minimum_balance = minimum_balance
>
> act = BankAccount(5)
> act.deposit(400)
> act.withdraw(200)
> print act.balance
>
>
> error message:
>
> THERE IS AN ERROR/BUG IN YOUR CODE*Results: *
> {"finished": true, "success": [{"fullName": "test_balance",
> "passedSpecNumber": 1}, {"fullName": "test_deposit",
> "passedSpecNumber": 2}, {"fullName": "test_sub_class",
> "passedSpecNumber": 3}, {"fullName": "test_withdraw",
> "passedSpecNumber": 4}], "passed": false, "started": true, "failures":
> [{"failedSpecNumber": 1, "fullName": "test_invalid_operation",
> "failedExpectations": [{"message": "Failure in line 23, in
> test_invalid_operation\n
> self.assertEqual(self.my_account.withdraw(1000), \"invalid
> transaction\", msg='Invalid transaction')\nAssertionError: Invalid
> transaction\n"}]}], "specs": {"count": 5, "pendingCount": 0, "time":
> "0.000079"}}
> 205
>
What do the instructions say that `withdraw` should return if the amount 
is greater than the balance?

What would your code return in such a case?




More information about the Python-list mailing list