Revisión automática de la práctica 02-enumera
Este es el resultado de una revisión automática de la prácica 02-enumera, 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:
numero_entero = int(input("Introduce un número entero mayor que 0: "))
if numero_entero <= 0:
    print("El número debe ser mayor que cero.")
else:
    impares = range(1, numero_entero + 1, 2)  # Crea una secuencia de números empezando en 1, hasta el numero que hayamos introducido incluido (por eso +1),
    # saltando de 2 en 2 . Esto genera solo números impares
    for cantidad_num in range(len(impares), 0, -1): #El bucle va reduciendo la cantidad de números que se imprimen en cada línea
        #Empezando con todos los impares del numero que hayamos introducido y quitando uno de la derecha en cada línea,hasta llegar al 1
        print(*impares[:cantidad_num])#* hace que los números dentro del rango se impriman individualmente, lo que nos permite
            # que en una misma linea aparezcan todos los pares menores o iguales a un número
    pares = range(2, numero_entero + 1, 2)# Crea una secuencia de números empezando en 2, hasta el numero que hayamos introducido incluido (por eso +1),
    # saltando de 2 en 2 . Esto genera solo números pares
    for cantidad_num in range(len(pares), 0, -1):
        print(*pares[:cantidad_num])
    #El comando len cuenta cuántos números pares hay desde 2 hasta numero_entero, e impares desde 1 hasta  numero_entero
    # y usa ese valor para los bucles que imprimen subconjuntos decrecientes de pares o impares, generando el patrón que queremos.Revisaré el programa proporcionado siguiendo la estructura solicitada.
Análisis
Cumple con el enunciado
El programa sí cumple con el enunciado en su funcionalidad principal:
- 
✅ Pide un número entero al usuario
- 
✅ Verifica que sea mayor que cero
- 
✅ Genera y muestra las listas de números impares en orden descendente (empezando por 1)
- 
✅ Genera y muestra las listas de números pares en orden descendente (empezando por 2)
- 
✅ La salida sigue el patrón requerido
El programa produce exactamente la salida esperada para los ejemplos proporcionados (números 5 y 8).
Es fácil de leer y entender
Parcialmente fácil de leer. El programa tiene algunos problemas de legibilidad:
- Comentarios muy largos: Los comentarios en las líneas se extienden mucho y pueden dificultar la lectura
- Falta de espacios: No hay líneas en blanco para separar visualmente las secciones de impares y pares
- 
Nombres poco descriptivos: cantidad_numno es el nombre más claro para una variable
- 
Mezcla de español e inglés: Se mezclan nombres en español (numero_entero) con comentarios en español y inglés
Sigue buenas prácticas de programación
Sigue parcialmente las buenas prácticas:
- 
✅ Validación de entrada adecuada
- 
✅ Uso derange()para generar secuencias eficientemente
- 
✅ Uso del operador*para desempaquetar listas enprint()
- 
⚠️ Problema importante: Intenta hacer slicing ([:]) directamente en un objetorange(), lo que no es estándar en versiones anteriores de Python y puede causar confusión
Recomendaciones de mejora
- 
Separar visualmente las secciones: Añadir una línea en blanco entre la sección de impares y pares para mejor legibilidad 
- 
Corregir el uso de slicing en range: Convertir los rangos a listas para hacer slicing de forma más clara y compatible: impares = list(range(1, numero_entero + 1, 2)) pares = list(range(2, numero_entero + 1, 2))
- 
Mejorar nombres de variables: Usar nombres más descriptivos, por ejemplo tamañoen lugar decantidad_num
- 
Dividir comentarios largos: Los comentarios muy largos pueden dividirse en líneas más cortas para mejor legibilidad 
- 
Consistencia de idioma: Mantener la coherencia entre español e inglés en comentarios y nombres de variables 
El programa cumple con la funcionalidad requerida, pero pequeñas mejoras de formato y claridad lo harían más fácil de mantener y entender.