## Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

### Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

PLUS

# I'm having trouble with tasks 1-2 in functions.py. I'm completely lost.

The first answer i got was copy and pasted from some other question. But it still makes absolutely no sense to me. I basically understand that the def add_list(num_list): part is the start of a function (I think) and that's about it. The rest of it i just can't wrap my head around and it's driving me absolutely insane at this point. The second question is: Now, make a function named summarize that also takes a list. It should return the string "The sum of X is Y.", replacing "X" with the string version of the list and "Y" with the sum total of the list. Now for the second one as you can see i have no idea where to start because I just don't understand the concept. I've watched all the function videos like 4 times already and I'm still getting nowhere. Thanks for the help in advance, and sorry for the giant question.

functions.py
```# add_list([1, 2, 3]) should return 6
# summarize([1, 2, 3]) should return "The sum of [1, 2, 3] is 6."
# Note: both functions will only take *one* argument each.

sum = 0
for num in num_list:
sum += num
return sum

def summarize()
```

Hey, I also find the code challenges... well challenging - you are required to incorporate techniques from previous lessons... without prompting like the .format() method.

Additionally, the instructions can be cryptic initially, until you can figure out they usually are giving you clues on how to solve it.

I find the notes to be helpful (the first three lines in this challenge). These give you the input but also the expected output for each function. How you deliver the expected output is up to you to figure out - the challenge.

Copying code will solve the challenge but will not help you in the long run. Challenges get more and more difficult, and incorporate all you have learned to this point.

If you copy code, go line by line and write out what you think the line does. Checking help() on workspaces or searching online documentation will further describe what is happening. Then try it the challenge again, but with your notes only.

Hope this helps.

You are hitting a wall now, but you will feel great accomplishment when you break through!

```# add_list([1, 2, 3]) should return 6
# summarize([1, 2, 3]) should return "The sum of [1, 2, 3] is 6."
# Note: both functions will only take *one* argument each.

# create a function named add_list that returns the sum of a list *assume a list of numbers
# create a variable that you will return, set it to value 0 to start
total = 0
# for statement iterates over the items of any sequence (a list or a string), in the order that they appear in the sequence.
for num in a_list:
# += adds the num to the existing total, if this is the first then it will add to 0 (set above =0)
total += num

# make a function named summarize that also takes a list. It should return the string "The sum of X is Y.", replacing "X" with the string version of the list and "Y" with the sum total of the list.
def summarize(a_list):
# create the string to return, add in placeholders for X and Y
string = "The sum of {} is {}."
# returns the formatted string with the contents of the list as well as the sum (i.e. add_list function)