7/15 La practica hace al maestro. Reverse


#1

Ok... El problema ya se ha posteado un par de veces pero en ambas la solución es haciendo trampa y usando los recursos que no dicen que no usemos:

No podés usar reversed o [::-1] para ayudarte con esto.

Este es el código que tengo:

def reverse(texto):
    rev=""
    lon=(len(texto)-1)
    for i in range(0,lon):
        rev[lon]=i
        lon-1
    return rev
print reverse ("abc")

Los errores que me muestra es en la linea 5

rev[lon]=i

No se me ocurre de que otra manera puedo modificar un string ya que no puedo usar .append


#2

Busque en las entradas en inglés y me encontré con una solución parecida a lo que estaba buscando.

Mi problema principal era que tenía que convertir el argumento de la función en un string

Les comparto la solución.

def reverse(texto):
    rev=""
    tex=str(texto)
    lon=len(texto)
    index=lon-1
    for i in range(lon):
        rev+=tex[index]
        index-=1
    return rev
print reverse ("abc")

#3

Hola,

Me sirvió como para pasar el ejecricio, sin embargo no termino de entender como funciona el bucle for, ¿me lo podrás explicar?

Gracias.


#4

Les dejo una solución mas simple.

def reverse(texto):
    indice = (len(texto)) - 1
    rever = ""
    for l in texto:
        rever += str(texto[indice])
        indice -= 1 
    return rever