6 usuarios conectados

Ordenar palabras por longitud. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada ordenar_palabras_por_longitud que tome una cadena de texto como entrada y devuelva una nueva cadena donde las palabras del texto original estén ordenadas de menor a mayor longitud. Si dos palabras tienen la misma longitud, su orden relativo en la cadena original debe mantenerse.



Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Ordenar palabras por longitud

📋 Copiar código


def ordenar_palabras_por_longitud(texto):
  """
  Ordena las palabras de una cadena por su longitud, manteniendo el orden
  relativo de palabras con la misma longitud.

  Args:
    texto: La cadena de texto de entrada.

  Returns:
    Una nueva cadena con las palabras ordenadas por longitud.
  """
  palabras = texto.split()
  # Usamos sorted con una función clave (len) para ordenar por longitud
  # La estabilidad del sort en Python 3 garantiza que el orden relativo se mantenga
  palabras_ordenadas = sorted(palabras, key=len)
  return " ".join(palabras_ordenadas)

# Ejemplos de uso
texto1 = "Esta es una frase de ejemplo corta"
resultado1 = ordenar_palabras_por_longitud(texto1)
print(f"'{texto1}' ordenado por longitud: '{resultado1}'")

texto2 = "Python es un lenguaje de programación poderoso y versátil"
resultado2 = ordenar_palabras_por_longitud(texto2)
print(f"'{texto2}' ordenado por longitud: '{resultado2}'")

texto3 = "a bb ccc d eee ff ggg hhhh"
resultado3 = ordenar_palabras_por_longitud(texto3)
print(f"'{texto3}' ordenado por longitud: '{resultado3}'")

texto4 = "palabra otra palabra"
resultado4 = ordenar_palabras_por_longitud(texto4)
print(f"'{texto4}' ordenado por longitud: '{resultado4}'")

texto5 = ""
resultado5 = ordenar_palabras_por_longitud(texto5)
print(f"'{texto5}' ordenado por longitud: '{resultado5}'")

 

Explicación del Código:

  • Función ordenar_palabras_por_longitud(texto):

    Ejemplos de Uso:

    Los ejemplos demuestran cómo la función ordena las palabras de diferentes cadenas de texto según su longitud, manteniendo el orden original para palabras de la misma longitud. También se incluye un ejemplo con una cadena vacía.