1 usuario conectado

Invertir palabras. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada invertir_palabras que tome una cadena de texto como entrada y devuelva una nueva cadena donde el orden de las palabras se invierte, pero cada palabra individual permanece intacta. Considera que las palabras están separadas por uno o más espacios.

Por ejemplo, si la entrada es "El perro ladra fuerte", la función debería devolver "fuerte ladra perro El".

Piensa en cómo puedes dividir la cadena en palabras y luego reorganizar esas palabras en orden inverso.

 

Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Invertir palabras

📋 Copiar código


def invertir_palabras(texto):
  """
  Invierte el orden de las palabras en una cadena de texto.

  Args:
    texto: La cadena de texto a analizar.

  Returns:
    Una nueva cadena con el orden de las palabras invertido.
  """
  palabras = texto.split()
  palabras_invertidas = palabras[::-1]
  return " ".join(palabras_invertidas)

# Ejemplo de uso:
texto1 = "El perro ladra fuerte"
texto1_invertido = invertir_palabras(texto1)
print(f"Texto original: '{texto1}'")
print(f"Texto con palabras invertidas: '{texto1_invertido}'")

texto2 = "Una sola palabra"
texto2_invertido = invertir_palabras(texto2)
print(f"Texto original: '{texto2}'")
print(f"Texto con palabras invertidas: '{texto2_invertido}'")

texto3 = "Múltiples   espacios   entre   palabras"
texto3_invertido = invertir_palabras(texto3)
print(f"Texto original: '{texto3}'")
print(f"Texto con palabras invertidas: '{texto3_invertido}'")

 

Explicación de la solución:

  1. def invertir_palabras(texto):: Define la función que toma la cadena texto como entrada.
  2. palabras = texto.split(): Utiliza el método split() de la cadena para dividir el texto en una lista de palabras. Por defecto, split() divide la cadena por cualquier cantidad de espacios en blanco.
  3. palabras_invertidas = palabras[::-1]: Utiliza el slicing con un paso de -1 para crear una nueva lista que contiene las palabras en orden inverso.
  4. return " ".join(palabras_invertidas): Utiliza el método join() para unir las palabras de la lista palabras_invertidas en una nueva cadena, con un espacio " " como separador entre cada palabra.

El ejemplo de uso muestra cómo llamar a la función con diferentes cadenas, incluyendo casos con una sola palabra y múltiples espacios entre palabras.