Re: Need help on a project To :"Create a class called BankAccount with the following parameters "

2015-12-26 Thread malitician
On Saturday, December 26, 2015 at 3:04:45 AM UTC+1, princ...@gmail.com wrote:
> #i have worked over 2hours only to get this: some-one help please
> manipulate_data = []
> item = {"apples": 23, "oranges": 15, "mangoes": 3, "grapes": 45}
> manipulate_data.append(item)
> for i in  reversed(manipulate_data):
> new = {"ANDELA", "TIA", "AFRICA"}
> def list_append(manipulate_data, new):
> manipulate_data.append(new)
> return new
> return dict.keys()
>
> 
>  print manipulate_data
> #this is the instruction:
> Create a function manipulate_data that does the following
> Accepts as the first parameter a string specifying the data structure to be 
> used "list", "set" or "dictionary"
> Accepts as the second parameter the data to be manipulated based on the data 
> structure specified e.g [1, 4, 9, 16, 25] for a list data structure
> Based off the first parameter
> 
> return the reverse of a list or
> add items `"ANDELA"`, `"TIA"` and `"AFRICA"` to the set and return the 
> resulting set
> return the keys of a dictionary.

I am now more confused than before, as beginners like we have stated
earlier, how does this solution applies to the real question ( bank
account )
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Need help on a project To :"Create a class called BankAccount with the following parameters "

2015-12-26 Thread malitician
On Thursday, December 24, 2015 at 9:58:54 PM UTC+1, Tim Chase wrote:
> On 2015-12-24 11:36, malitic...@gmail.com wrote:
> > it is a homework, but we are to figure out the solution first , all
> > we need is some guidance please and not to be spoon fed like many
> > thought 
> 
> Ah, with the intended interface as given by the tests, and the code
> you've already put together, you'll find comp.lang.python is a much
> friendlier place.
> 
> 
> >   def test_invalid_operation(self):
> > self.assertEqual(self.my_account.withdraw(1000), "invalid
> > transaction", msg='Invalid transaction') 
> 
> The test above is failing because your withdraw() method doesn't
> return "invalid transaction" but rather prints it:
> 
> > def withdraw(self, amount):
> > if self.balance>= amount:
> > self.balance  -=  amount
> > else:
> >   print('invalid transaction')
> 
> as gleaned from this error message:
> 
> > [{"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.80"}}
> 
> The test says "I expected that calling the function would return
> "invalid transaction" but it didn't" (a better test-runner would
> also have let you know that it had returned None)
> 
> Though frankly, I'd consider that a bad test, since it's an
> exceptional condition, so it should be checking that a custom
> InvalidTransactionException was raised.  But sometimes you have to
> work with what you've got.
> 
> -tkc

you and others here saved my days , instead of "RETURN" i have been using 
"PRINT". i never knew the differences earlier . Problem solved , thanks for 
having guys like all of you here. I'm just a week old into python programming 
and i have learned a lot   .Merry xmas
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Need help on a project To :"Create a class called BankAccount with the following parameters "

2015-12-24 Thread malitician
On Thursday, December 24, 2015 at 3:39:34 PM UTC+1, Chris Angelico wrote:
> On Fri, Dec 25, 2015 at 1:17 AM,   wrote:
> > i am getting to believe that no one can provide a solution to this 
> > challenge, every-one here is just beating around the bush
> 
> It's not a question of 'can' but 'will'. We will not provide the
> answer to your homework question. This has already been explained to
> you.
> 
> ChrisA




you are right chris
it is a homework, but we are to figure out the solution first , all we need is 
some guidance please and not to be spoon fed like many thought 


in case anybody missed the question here is it 





>Create a class called BankAccount

>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



and there is a unittest that evaluate our code to check if we got it right ( i 
believe) and here  it is below








import unittest
class AccountBalanceTestCases(unittest.TestCase):
  def setUp(self):
self.my_account = BankAccount(90)

  def test_balance(self):
self.assertEqual(self.my_account.balance, 90, msg='Account Balance Invalid')

  def test_deposit(self):
self.my_account.deposit(90)
self.assertEqual(self.my_account.balance, 180, msg='Deposit method 
inaccurate')

  def test_withdraw(self):
self.my_account.withdraw(40)
self.assertEqual(self.my_account.balance, 50, msg='Withdraw method 
inaccurate')

  def test_invalid_operation(self):
self.assertEqual(self.my_account.withdraw(1000), "invalid transaction", 
msg='Invalid transaction')
  
  def test_sub_class(self):
self.assertTrue(issubclass(MinimumBalanceAccount, BankAccount), msg='No 
true subclass of BankAccount')




and i come up with this code which i believe i'm 80 percent correct




class BankAccount:
def __init__(self, initial_amount):
self.balance = initial_amount
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if self.balance>= amount:
self.balance  -=  amount
else:
  print('invalid transaction')

a1 = BankAccount (90)
a1.deposit(90)
a1.withdraw(40)
a1.withdraw(1000)
class MinimumBalanceAccount(BankAccount):
def __init__(self):
BankAccount.__init__(self)






but i kept getting this error from the unittest





{"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\nself.assertEqual(self.my_account.withdraw(1000), 
\"invalid transaction\", msg='Invalid transaction')\nAssertionError: Invalid 
transaction\n"}]}], "specs": {"count": 5, "pendingCount": 0, "time": 
"0.80"}}
invalid transaction
invalid transaction





its like this part of the unittest explains my error  




[{"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.80"}}



but i dont know what it means or where i have gone wrong in my code
and for that need help on Create a subclass MinimumBalanceAccount of the 
BankAccount class

i believe the last three lines of my code answered your question.
i believe someone can help me with my problem.
Thanks in advance
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Need help on a project To :"Create a class called BankAccount with the following parameters "

2015-12-19 Thread malitician
you are absolutely correct Mark 
i'm a beginner in python and  from the original question and test case given 
above i wrote this 



class BankAccount(object):
def __init__(self, initial_balance=0):
self.balance = initial_balance
def deposit(self, amount):
self.balance +=amount
def withdraw(self, amount):
self.balance -= amount
my_account = BankAccount(90)
my_account.withdraw(1000)
if my_account.balance < 4:
print('invalid transaction')
class MinimumBalanceAccount(BankAccount):
def __init__(self, MinimumBalance=4):
self.minbalance = MinimumBalance





after executing this i got this  TEST SOLUTION ERROR which i don't know what it 
means





{"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\nself.assertEqual(self.my_account.withdraw(1000), 
\"invalid transaction\", msg='Invalid transaction')\nAssertionError: Invalid 
transaction\n"}]}], "specs": {"count": 5, "pendingCount": 0, "time": 
"0.65"}}
-910
invalid transaction



SO please what is wrong with my code, does it not meet the requirement of the 
"test case" given above in the question? 
Thanks in advance
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Need help on a project To :"Create a class called BankAccount with the following parameters "

2015-12-18 Thread malitician
good explanation Steven but can you please do more by  posting the exact code 
as it relate to the question please? 
-- 
https://mail.python.org/mailman/listinfo/python-list