# My output is correct but when I press "check answer" it gives a different result

This is from the list coding challenge Number 1, “Append Sum.”

The challenge is to, " Write a function named `append_sum` that has one parameter — a list named named `lst` .

The function should add the last two elements of `lst` together and append the result to `lst` . It should do this process three times and then return `lst` .

For example, if `lst` started as `[1, 1, 2]` , the final result should be `[1, 1, 2, 3, 5, 8]` ."

This is the code I wrote:

``````#Write your function here
def append_sum(lst):
while len(lst) < 6:
lst.append(lst[-2] + lst[-1])
return lst

#Uncomment the line below when your function is done
print(append_sum([1, 1, 2]))
``````

When I press run, the code outputs the correct result ([1, 1, 2, 3, 5, 8]) but when I press “check answer” it responds with " `append_sum([2, 5])` should have returned `[2, 5, 7, 12, 19]` , and it returned [2, 5, 7, 12, 19, 31]"

Hello, @method2161221558, and welcome to the forums.

The SCT for the challenge tests your code using the list shown in the message you are receiving:
`[2, 5]`.
Your function should work for lists of any length. Yours only produces the expected outcome if the original list has exactly 3 elements. The instructions say to repeat something three times. Your function wouldn’t append even a single element if the original list had 6 or more elements.

2 Likes