Este post es sobre el lenguaje de programación Python y trata sobre cómo rotar una cadena determinadas posiciones a la izquierda o derecha.
Vamos a definir dos funciones que van a rotar una cadena N posiciones a la izquierda o a la derecha.
Esto de las rotaciones de cadenas lo vimos con el algoritmo Cesar en Python.
Nota: si quieres invertir una cadena mira este post.
El algoritmo para rotar cadenas es sencillo; solamente necesitamos cortar dos partes de la cadena y después juntarlas o concatenarlas en un distinto orden. Para ello usamos operaciones con slices.
Por poner un ejemplo tenemos la cadena “Parzibyte“, vamos a rotarla 3 posiciones a la izquierda. Para ello, primero cortamos la cadena desde el número de rotaciones hasta el final, y tenemos “zibyte“.
Ahora cortamos la cadena desde 0 hasta el número de rotaciones y tenemos “Par“.
Finalmente concatenamos “zibyte” con “Par” y queda “zibytePar”. La cadena ha sido rotada.
Este principio aplica tanto para rotar una cadena a la izquierda como a la derecha.
Veamos la siguiente función que rota una cadena. Recibe el número de rotaciones y devuelve la cadena rotada a la izquierda:
def rotar_izquierda(cadena, posiciones):
return cadena[posiciones:] + cadena[:posiciones]
La función es muy parecida a la que rota o gira una cadena, pero ahora es a la derecha. Para ello reutilizamos la función anterior pero negando el número de rotaciones:
def rotar_derecha(cadena, posiciones):
return rotar_izquierda(cadena, -posiciones)
A continuación expongo un ejemplo de código para rotar cadenas con Pyhton, ya sea a la izquierda o a la derecha:
def rotar_izquierda(cadena, posiciones):
return cadena[posiciones:] + cadena[:posiciones]
def rotar_derecha(cadena, posiciones):
return rotar_izquierda(cadena, -posiciones)
palabras = [
"Hola",
"Qué tal",
"Luis Cabrera",
"Programando en Python",
"123456789",
]
for palabra in palabras:
print("Rotar {} a la izquierda: ".format(palabra))
print(rotar_izquierda(palabra, 3))
print("Rotar {} a la derecha: ".format(palabra))
print(rotar_derecha(palabra, 3))
Puedes probar el código localmente, primero instala Python ya sea en Windows o en Linux Ubuntu.
¿Quieres más tutoriales de Python? click aquí.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.