Revisión automática de la práctica 01-permutaciones
Este es el resultado de una revisión automática de la prácica 01-permutaciones, tal y como la hemos recogido de este repositorio de entrega. Por favor, ten en cuenta que al ser una revisión automática, realizada con la ayuda de un asistente de inteligencia artificial generativa, puede incluir errores, y ser incorrecta. Pero leela con atención, porque creemos que puede tener información útil. Si tienes cualquier duda, o crees que la revisión es errónea, por favor, consulta con los profesores de la asignatura.
Revisión automática de programa
Programa revisado:
from itertools import permutations
listas = ["Buenos dias", "Hoy hace Sol", "Ten una buena tarde", "Adiós"]
permutaciones = list(permutations(listas))
print(permutaciones)
Análisis
Cumple con el enunciado
El programa utiliza itertools.permutations, una herramienta predefinida de Python, para generar las permutaciones. Sin embargo, la práctica está diseñada para que los alumnos implementen manualmente el algoritmo de permutaciones sin recurrir a bibliotecas externas. Esto evita que demuestren comprensión del proceso interno de generación de permutaciones.
Es fácil de leer y entender
El código es breve y usa estructuras simples. Las variables tienen nombres claros (listas, permutaciones), y la lógica se entiende de forma directa. Sin embargo, el resultado se imprime como una lista de tuplas sin formato, lo que podría dificultar su interpretación visual para un usuario no técnico.
Sigue buenas prácticas de programación
-
Ventaja: El uso de
itertools.permutationses eficiente y evita reinventar la rueda, lo cual sería una buena práctica en un contexto real. -
Desventaja: No se incluyen comentarios para explicar el propósito del código, y las variables podrían ser más descriptivas (ej.
mensajesen lugar delistas). Además, no se estructura el programa en funciones, lo que limita su reusabilidad y claridad.
Recomendaciones de mejora
-
Evitar
itertools
La práctica requiere implementar permutaciones sin bibliotecas externas. Reemplazapermutations(listas)con bucles anidados o recursión para generar las permutaciones manualmente. -
Mejorar nombres de variables
Usa nombres más específicos, comomensajesen lugar delistas, para clarificar que se trata de frases a permutar. -
Dar formato al resultado
En lugar de imprimir una lista de tuplas, muestra cada permutación en una línea separada para facilitar la lectura:for p in permutaciones: print(p) -
Agregar comentarios
Explica brevemente cada paso, especialmente si el código se vuelve más complejo al eliminaritertools. -
Estructurar en funciones
Separa la lógica en funciones (ej.generar_permutaciones) para mejorar la organización, incluso si es una solución básica.