Here's the error:
Oops, try again. Your function fails on reverse("Python!"). It returns "cba!nohtyP" when it should return "!nohtyP".
It looks like it works except... Where are all of those extra letters coming from? It looks like either the "backwards" list isn't really empty when the function starts running or the text input is screwed up... What am I doing wrong?
backwards =  def reverse(text): n = len(text) while n > 0: backwards.append(text[n-1]) n -= 1 return "".join(backwards)