Skip to content

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:

print("hola import itertools


lista = ['Hola', 'Qué tal', 'Adiós']

print('Lista:', lista)
print('Permutaciones:')

for p in itertools.permutations(lista):
    print(' '.join(p))
mundo")

Análisis

Cumple con el enunciado

No cumple. El programa no genera permutaciones de la lista como exige el enunciado. En su lugar, imprime un string que contiene código Python (incluyendo import itertools y un bucle), pero dicho código nunca se ejecuta. Además, el uso de itertools está prohibido según las instrucciones de la práctica, y el programa ni siquiera lo importa correctamente (el import está dentro de un print).

Es fácil de leer y entender

No es legible. El código está mal estructurado: todo el contenido después de print("hola import itertools forma parte de un string sin cerrar correctamente, lo que genera un error de sintaxis (no se pueden incluir saltos de línea en un string con comillas dobles simples sin escaparlos). Además, el programa no hace lo que aparenta mostrar.

Sigue buenas prácticas de programación

No sigue buenas prácticas.

  • Tiene un string mal formateado que rompe la ejecución.
  • No importa itertools como módulo (está dentro de un print).
  • No resuelve el problema requerido (generar permutaciones manualmente).
  • Incluye texto innecesario como "hola" y "mundo" que no aportan funcionalidad.

Recomendaciones de mejora

  1. Elimina el print inicial incorrecto: El programa debe ejecutar código, no imprimir strings que parecen código.
  2. No uses itertools: La práctica exige resolverlo con bucles y condicionales básicos (ej.: recursión o intercambios manuales de elementos).
  3. Arregla la sintaxis: Si quieres definir una lista y operar con ella, hazlo fuera de un print. Ejemplo válido:
    lista = ['Hola', 'Qué tal', 'Adiós']
    # Aquí generar permutaciones con bucles for anidados
  4. Enfócate en la lógica requerida: Implementa el algoritmo de permutaciones desde cero, como se enseñó en clase (ej.: usando índices y recursión simple).