I keep getting "Oops, try again. Your function fails on reverse("Python!"). It returns "!" when it should return "!nohtyP". I don't understand why the while statement breaks after returning the first item that is stored in list x.
Replace this line with your code. def reverse(text): lists =  for key in text: lists.append(key) a = len(text) while a > 0: a -= 1 x =  x.append(lists[a]) return "".join(x)