# Budget App Help with the outer function (create a chart)

Hello everyone,

Here is the link to my replit :

So this question is going to sound pretty damn stupid but itâ€™s been a few months since Iâ€™ve coded so I am a little rough on the edges. I have to get into a good rythm

I have been doing the Budget App challenge and I am at the stage of creating the chart. I have a huge doubt and I think that once I have that doubt resolved I can continue on.

How can we access a class from an outer function is basically my main question?

Let me explain

Here is my code so far:

``````class Category:

def __init__(self, category, ledger = None, balance = 0):
if ledger is None:
ledger = []
self.category = category
self.ledger = ledger
self.balance = balance

def __str__(self):
output = self.category.center(30,"*") + "\n"
total = 0
for dictionnary in self.ledger:
desc_length = 30 - len(dictionnary["description"][:23])
floated = dictionnary["amount"]
total += dictionnary["amount"]
output += dictionnary["description"][:23] + "{:.2f}".format(floated).rjust(desc_length) + "\n"
output += "Total: " + str(total)
return output

def deposit(self, amount, description = ""):
self.balance += amount
self.ledger.append({"amount": amount, "description": description})

def withdraw(self, amount, description = ""):
if amount > self.balance:
return False
else:
self.ledger.append({"amount": + amount*-1, "description": description})
self.balance -= amount
return True

def get_balance(self):
return self.balance

def transfer(self, amount, category):
if amount > self.balance:
return False
else:
self.ledger.append({"amount": + amount*-1, "description": "Transfer to " + category.category})
self.balance -= amount
category.ledger.append({"amount": amount, "description": "Transfer from " + self.category})
category.balance += amount
return True

def check_funds(self, amount):
if amount > self.balance:
return False
else:
return True

def create_spend_chart(categories):
for category in categories:
for name in category.
``````

What I want to do is go over the list provided in categories and from the names in that list, reach for the info in the class.

As an example, â€śfoodâ€ť is present in the list. I want to access that class and more precisely all the withdrawals, add them etcâ€¦

Thanks for the help and I know the stupidity of this question

``````food = Category("food")
So you can use `categories[0]` as if it was the `food`-object itself and access all itâ€™s methods and content.