En cursos anteriores preparé ejercicios que, por distintos motivos, he dejado de utilizar. Estos ejercicios se pueden utilizar como ejercicios de ampliación. Tenga en cuenta que, dado que ya no actualizo ni los ejercicios ni las soluciones, el estilo del código de las soluciones puede variar con respecto al estilo del código del resto de ejercicios.
He pensado siempre que la creación de dibujos era un buen ámbito para trabajar los bucles y estos ejercicios son el resultado de sucesivos intentos:
Como la creación de dibujos no es inmediata en Python, empecé trabajando con dibujos de ASCII-Art, es decir, figuras realizadas con caracteres ASCII. El problema es que los dibujos deben generarse línea a línea, algo bastante artificial.
Durante un par de años utilicé el módulo turtle que permite crear dibujos geométricos por el método de la tortuga, es decir, controlando el movimiento de un cursor que dibuja directamente en la pantalla. El problema es que los movimientos son en línea recta, por lo que no es fácil dibujar figuras con curvas.
Durante un par de años utilicé Brython, una biblioteca que convierte código Python en JavaScript, lo que permite crear páginas web con código Python incrustado (con limitaciones, no admite el lenguaje Python completo, ni todas las bibliotecas estándar). La idea de estos ejercicios es escribir páginas HTML con código Python incrustado que genere gráficos SVG. El abanico de formas se abre así enormemente, el problema es que la depuración de los programas es difícil para los alumnos, porque los errores pueden estar tanto en el código Python como en la manipulación del DOM como en el código SVG generado.