def inverter(lista):
clone = []
def adiciona(lista, index):
# Enquanto não chegar no último elemento, o index receberá o
# valor dele -1 e o elemento do index atual será adicionado à lista clone.
if index > -1:
clone.append(lista[index])
inverter(lista, index-1)
# Adiciona à lista clone os elementos da lista original só que invertido.
add(lista,len(lista)-1)
return clone
lista = [1,2,3,4,5]
lista = reverse(lista)
print(lista) # A saída é [5,4,3,2,1]
ZGVmIGludmVydGVyKGxpc3RhKToKICAgIGNsb25lID0gW10KCiAgICBkZWYgYWRpY2lvbmEobGlzdGEsIGluZGV4KToKCiAgICAgICAgIyBFbnF1YW50byBuw6NvIGNoZWdhciBubyDDumx0aW1vIGVsZW1lbnRvLCBvIGluZGV4IHJlY2ViZXLDoSBvIAogICAgICAgICMgdmFsb3IgZGVsZSAtMSBlIG8gZWxlbWVudG8gZG8gaW5kZXggYXR1YWwgc2Vyw6EgYWRpY2lvbmFkbyDDoCBsaXN0YSBjbG9uZS4KCiAgICAgICAgaWYgaW5kZXggPiAtMToKICAgICAgICAgICAgY2xvbmUuYXBwZW5kKGxpc3RhW2luZGV4XSkKICAgICAgICAgICAgaW52ZXJ0ZXIobGlzdGEsIGluZGV4LTEpCgogICAgIyBBZGljaW9uYSDDoCBsaXN0YSBjbG9uZSBvcyBlbGVtZW50b3MgZGEgbGlzdGEgb3JpZ2luYWwgc8OzIHF1ZSBpbnZlcnRpZG8uICAgICAgICAKICAgIGFkZChsaXN0YSxsZW4obGlzdGEpLTEpCiAgICByZXR1cm4gY2xvbmUKCmxpc3RhID0gWzEsMiwzLDQsNV0KbGlzdGEgPSByZXZlcnNlKGxpc3RhKQoKcHJpbnQobGlzdGEpICMgQSBzYcOtZGEgw6kgWzUsNCwzLDIsMV0=