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

Chris Christensen
Chris Christensen
9,281 Points

Slices Challenge Task 4

I'm confused as to why this isn't passing. I ran this through workspaces on both even and odd number of items in the iterable and it gives me the reverse evens. However, when I run it in the challenge it doesn't pass. Any help is appreciated.

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 reverse_evens(iterable):
    reverse = iterable[::-1]
    return reverse[::2]

3 Answers

Christopher Shaw
seal-mask
PLUS
.a{fill-rule:evenodd;}techdegree seal-36
Christopher Shaw
Python Web Development Techdegree Graduate 58,248 Points

You have the right idea, just get the evens first and then reverse it. That allows for an odd or even number of items in the list. A small gotch that catches a lot of people.

def reverse_evens(iterable):
    evens = iterable[::2]
    return evens[::-1]
Chris Christensen
Chris Christensen
9,281 Points

Christopher Shaw thanks so much! It is always something small. :)

Hi, doesn't the following provide what the task asks for? I tested it on my pc and it works.

def reverse_evens(reven): return reven[::-2]