## Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

### Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today. # Not sure how to create the code for add_list

What am I doing wrong here?

functions.py
```def add_list(list):

while True:

if i>len(list):
break

for i in list:
i=0
return list[i]+list[i+1]
i=i+1
continue

# 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.
``` OK I worked it out - basically simpler than we both thought Brian!

```def add_list(list):
total=0
for i in list:
total=total+i
``` I think the issue is that every time the for loop goes through a cycle, it sets i=0.

The syntax for num in list: should take care of that for you, I think... Can someone help explain what I'm doing wrong here too?

I keep getting an out of index error but I thought if you use the for something in somethings syntax, it should always know not to go out of bounds.

'''python

def add_list(num_list): while True: sum=0 for item in num_list: if item > len(num_list): break else: sum = sum + num_list[item] print(sum) return(sum)

# Call the function with a list STAFF

You both used `while True`. This is a great construct, but only needed when you want something to run forever (or until explicitly broken with `break`). You really only want this to run until you run out of things in the list. Kenneth,

I'm assuming when we type the code we do not know how long or small the list is going to be. How would I create a loop function that knows when to stop with out being explicitly told to?

I thought about asking the user to give the total number of items in the list as the first part of the function, then making a "for" loop that stops at that number, but that would require the input() function. STAFF

Joshua Ridley Joshua Ridley you just keep going until you get to the end of the list.

```for number in range(50):
print(number*2)

for number in range(5000):
print(number/2)
```

Both of these `for` loops will run until they run out of numbers. I didn't tell them how to count or anything.

```def double(nums):
for num in nums:
print(num*2)

double(range(50))
double(range(5000))
```

This does the exact same thing but deals with a list (well, list-like object) it doesn't know anything about until it gets to the function.