Igorati, I wished I could give you a simple fix, BUT... You need to really re-read the docs and do some tutors first . Your understanding of classes and namespaces is flawed and will not become clear without futher study.
search strategy: python namespaces python class python tutor Classes are like containers. Classes have there own namespace, "self". Multiple classes do not share namespaces. Stay away from inheritance till you have an understanding of namespace, no need in getting mixed up. Withdrawl, Deposit, Transaction should be members of the account class. That way they can share a namespace and simplify your design. Why do you need to search a pickle? Pickle an instance of the class and unpickle it when needed and your data will be however it was in your instance. If you have real code post it because this code does not work and never will. Quit posting homework, you can ask for occasional help, but this is the third time i have seen this, it is getting worse and you have been warned before ;) Surely in the month since you first asked you could have read a bit of documentation. # this is not complete or even tested it is just an example ( based on your code ) import time class Account: def __init__(self, initial): self.balance = initial self.history = {} def deposit(self, amt): self.balance = self.balance + amt self.save('deposit',amt) def withdraw(self, amt): self.balance = self.balance - amt self.save('withdrawl', amt) def getbalance(self): return self.balance def gethistory(self): return self.history def save(self,trans,amount): # store the transaction type, amount, balance self.history[self.timestamp()] = (trans,amount,self.balance) def timestamp(self): return time.asctime() def transaction(self): withdrawl = raw_input("Is this a deposit or withdrawl?") amount = raw_input("Please enter amount here.") if withdrawl.lower() in ["withdrawl","w"]: self.withdraw(amount) else: self.deposit(amount) hth, M.E.Farmer -- http://mail.python.org/mailman/listinfo/python-list