Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: MRAB Newsgroups: comp.lang.python Subject: Re: i cant seem to figure out the error Date: Sun, 3 Apr 2016 18:36:43 +0100 Lines: 74 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de c2jH2IqdY+rSskZX9fLhXwwFWe4AihWWeLZYs3v2XiqQ== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'else:': 0.03; 'skip:[ 20': 0.03; 'debug': 0.04; 'true,': 0.04; 'constructor': 0.07; 'false,': 0.07; 'subclass': 0.09; 'subject:error': 0.11; 'accordingly.': 0.13; 'def': 0.13; 'everyone,': 0.15; '23,': 0.16; 'assignment.': 0.16; 'assigns': 0.16; 'bankaccount': 0.16; 'from:addr:mrabarnett.plus.com': 0.16; 'from:addr:python': 0.16; 'from:name:mrab': 0.16; 'message-id:@mrabarnett.plus.com': 0.16; 'received:192.168.1.4': 0.16; 'received:84.93': 0.16; 'received:84.93.230': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'withdrawal': 0.16; 'wrote:': 0.16; 'integer': 0.18; 'code.': 0.23; 'written': 0.24; 'header:In-Reply- To:1': 0.24; 'header:User-Agent:1': 0.26; 'skip:" 20': 0.26; 'skip:m 30': 0.27; 'error': 0.27; 'code:': 0.29; 'print': 0.30; 'code': 0.30; 'skip:[ 10': 0.31; 'error.': 0.31; 'skip:_ 10': 0.32; 'received:84': 0.32; 'class': 0.33; 'should': 0.36; 'there': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; 'method': 0.37; 'say': 0.37; 'skip:s 40': 0.38; 'subject:the': 0.39; 'takes': 0.39; 'received:192': 0.39; 'to:addr:python.org': 0.40; 'still': 0.40; 'called': 0.40; 'your': 0.60; 'deposit': 0.61; 'balance': 0.64; 'act': 0.67; 'case?': 0.84 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=bsGxfxui c=1 sm=1 tr=0 a=0nF1XD0wxitMEM03M9B4ZQ==:117 a=0nF1XD0wxitMEM03M9B4ZQ==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=IkcTkHD0fZMA:10 a=gszuTQDTt2T15H5SSzAA:9 a=QEXdDO2ut3YA:10 X-AUTH: mrabarnett@:2500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:106383 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?