Introducción

Al abrir el programa de python nos  encontramos con un prompt que nos permite escribir código. Este es el modo interactivo en el que podemos escribir una sola línea de código y ejecutarla pulsando intro. Si damos valor a cualquier variable, el programa mantendrá esos valores. De manera que podemos ejecutar en primer lugar una  línea que dé valor a una variable y después otra que lo muestre. Vamos a trabajar en primer lugar con el modo interactivo y después escribiremos programas completos.  Si en la explicación de esta parte escribo un código en varias líneas, debes pulsar intro entre línea y línea. Si pulsas las teclas flecha arriba o abajo, te va mostrando líneas que has escrito anteriormente

Por ejemplo, escribe :

2+2

a=2

a+a

Como ves, si escribes simplemente un valor, el modo interactivo te lo muestra. También podrías haber escrito print (a+a)

Ahora vamos a suponer que queremos escribir los números del uno al 10. En processing sería algo así: 

for(i=1: i<11; i=i+1){

println (i)

}

El for tiene una parte entre llaves, donde el programa entra si se cumple una condición. En este caso la condición es i>11. Es la parte que queda en medio del paréntesis. La parte inicial es un código que se ejecuta al principio: i=1. La parte final es se ejecuta al salir del bloque entre llaves. De manera que al principio i vale 1. Al ser menor que 11, entra en la parte entre llaves, y se ejecuta: escribe 1. Al acabar, ejecuta i=i+1 e i vale 2, y así hasta 11, donde no se cumple la condición y no entra. 

En python se escribiría así:

for i in range (10):

print (i+1)

Es completamente diferente. Veamos las diferencias: 

Python entiende en este caso que tú vas a ir de uno en uno, de manera que no te hace escribirlo. Range(10) es los números del 0 al 9. El for puede llevar como parámetros listas y otras cosas. Puedo poner range (1,11) si quiero que vaya del uno al diez.

Esta manera de escribir el for en python es muy flexible, porque además de rangos, tú puedes crear tus propias listas y el for la va recorriendo. A la vez, se deja más en manos de python que él suponga lo que quieres hacer, y normalmente está programado de forma que acierta. ¿Esto es bueno o malo? Está bien para gente que sabe poco de programación. Pero es chocante para programadores de C u otros programas de bajo nivel. A la vez te da poco control sobre qué está haciendo exáctamente. El for de processing es más preciso. C es más rígido, más exigente en cuanto a que se debe programar de una manera exacta. Pero a la vez, si lo has programado bien, es más fiable, más rápido y da más control al programador. Es más adecuado para equipos que hacen las cosas ellos mismos, saben programar bien y quieren controlar cómo hace el ordenador las cosas a bajo nivel. Python es más adecuado para quien usa esporádicamente la programación y utiliza con frecuencia librerías hechas por otros.

El bloque de código que se ejecuta en el for, en el caso de processing, C y java, va dentro de paréntesis. En python lleva un tabulador. Cuando vuelvas al nivel de sangría donde está el for, es que se ha acabado ese código. 

Si vas a ejecutar ese for en el asistente, él entiende que detrás del for vas a escribir código, de manera que te salen tres puntos para que escribas la siguiente línea. Pero debes meter el tabulador. Si no introduces nada y pulsas intro, el asistente entiende que ha acabado el for

Si quiero sumar los números del uno al 10 puedo hacerlo así:

suma =0

for i in range(1,11):

suma = suma +i

print (suma)

El print se ejecuta al acabar el for. Python entiende esto así porque la línea del print no tiene tabulador, por lo tanto está después del for.

Los ejercicios van a tener un resultado que yo te voy a dar. De esta manera ves si está bien. En cada ejercicio, prueba con un ejemplo que te permita comprobar de cabeza o con el cuaderno y luego lo amplías. Por ejemplo, si te pido que sumes los números del uno al 1000, haz primero un programa que sume los números del 1 al 5, lo compruebas, y luego cambias el valor. 

Ejercicio 1. Multiplica los números del 1 al 10. 3628800

La sucesión de Fibonacci tiene como primer término el 1, y como segundo término también el 1. Cada siguiente término es la suma de los dos anteriores.  De manera que los primeros términos son los siguientes: 1,1,2,3,5,8,13....

Para calcular los términos debes tener 3 variables, que contengan tres términos: x, y, z. X=1, y= 1 y z lo calculas. En este caso 1+1=2. Ahora sustituyes el valor de x por el de y e y por el de z. Ahora x=1, y=2 y z lo calculas como x+y. Así sucesivamente.

Ejercicio 2 Calcula el término 300 de la sucesión de Fibonacci