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.

Start your free trial

Python Python Collections (2016, retired 2019) Slices Slice Functions

cchartm16
PLUS
cchartm16
Courses Plus Student 2,464 Points

Why is this working in my IDE but not in the checker?

All of this works in my IDE but then it always says that the previous step isn't working once I solve the next step...can someone please help? :/

slices.py
def first_4(iterable):
    return iterable[:4]

def first_and_last_4(iterable):
    return iterable[:4] + iterable[-4:]

def odds(iterable):
    return iterable[1::2]

def next_problem(iterable):
    return iterable[len(iterable) - 1::-2]
Afloarei Andrei
Afloarei Andrei
5,163 Points

Your function is returning ODD numbers. Make it return EVEN numbers.

1 Answer

Kevin Brennan
Kevin Brennan
19,920 Points

Hi Colin,

You are complicating things too much, there is no need to know the len of the iterable, all you need to do is to return a reverse list of all the even indexes. So do the slice and then reverse it using [::-1]as below:

def first_4(iterable):
    return iterable[:4]

def first_and_last_4(iterable):
    return iterable[:4] + iterable[-4::]

def odds(iterable):
    return iterable[1::2]

def reverse_evens(iterable):
    return iterable[::2][::-1]

I hope that helps

Kevin