Jueves

FOR-IN

Hay otro tipo de bucle en Python: el bucle for-in, que se puede leer como (para todo elementode una serie, hacer. . . ).

Un bucle for-in presenta el siguiente aspecto:

for variable in serie de valores:
acción
acción
...
acción

La función range (que en inglés significa ((rango))). En principio, range se usa
con dos argumentos: un valor inicial y un valor final (con matices)
Observa que la lista devuelta contiene todos los enteros comprendidos entre los argumentos de la función, incluyendo al primero pero no al último.
La función range devuelve una lista de números enteros. Estudia este ejemplo:

for i in range(1, 6):
print i

Al ejecutar el programa, veremos lo siguiente por pantalla:
1
2
3
4
5
La lista que devuelve range es usada por el bucle for-in como serie de valores a recorrer.

Podemos utilizar la función range con uno, dos o tres argumentos.

Si usamos range con un argumento estaremos especificando únicamente el último valor (más uno) de la serie, pues el primero vale 0 por defecto:

>>> range(5) 
[0, 1, 2, 3, 4]

Si usamos tres argumentos, el tercero permite especificar un incremento para la serie de valores. por ejemplo qué listas de enteros devuelve range:

>>> range(2, 10, 2) 
[2, 4, 6, 8]

>>> range(2, 10, 3) 
[2, 5, 8]

Si pones un incremento negativo (un decremento), la lista va de los valores altos a los bajos. Recuerda que con range el último elemento de la lista no llega a ser el valor final:

>>> range(10, 5, -1) 
[10, 9, 8, 7, 6]

>>> range(3, -1, -1) 
[3, 2, 1, 0]

Así pues, si el tercer argumento es negativo, la lista finaliza en el valor final más uno (y no menos uno).

Finalmente, observa que es equivalente utilizar range con dos argumentos a utilizarla con un valor del incremento igual a 1.

>>> range(2, 5, 1) 
[2, 3, 4]

>>> range(2, 5) 
[2, 3, 4]

Obi Wan


Puede resultar sorprendente que range(a, b) incluya todos los números enteros comprendidos entre a y b, pero sin incluir b. En realidad la forma ((natural)) o más frecuente de usar range es con un sólo parámetro: range(n) que devuelve una lista con los n primeros números enteros incluyendo al cero (hay razones para que esto sea lo conveniente, ya llegaremos).

Como incluye al cero y hay n números, no puede incluir al propio número n. Al extenderse el uso de range a dos argumentos, se ha mantenido la (compatibilidad) eliminando el último elemento. Una primera ventaja es que resulta fácil calcular cúantas iteraciones realizará un bucle range(a, b): exactamente b - a. (Si el valor b estuviera incluido, el número de elementos sería b - a + 1.)

Hay que ir con cuidado, pues es fácil equivocarse (por uno). De hecho, equivocarse (por uno) es tan frecuente al programar (y no sólo con range) que hay una expresión para este tipo de error: un error Obi Wan (Kenobi), que es más o menos como suena en inglés (off by one) (pasarse o quedarse corto por uno).

Literatura:

Leimos sobre William Shakespeare y sobre el Teatro isabelino en Inglaterra. Las hobras de William Shakespeare son muy interesantes ya que el se dedico a escribir las obras sobre la tragedia y la comedia, sus obran son muy interesantes.

Ingles:

Hoy nos hicieron una prueba corta en donde el tema era used to.

Valores:

Vimos sobre le decimos a una persona algo sin ofenderla o lastimarla. Y nos dejaron una tarea de crear un video que calidad esa tarea.......

Fisica Fundamental:

Hoy no vimos ya que se estaban haciendo remediales y nosotros aprovechamos para decorar la clase.

Sociologia:

Hoy presentamos una tarea que era entregar un simbolo patrio y despues los colocamos en la clase.

Computación:

El profe rebiso el blog pero esta vez vio si teniamos a todos en una lista.

Logica Matematica

Vimos sobre el recorrido de un árbol que existen 3 tipos de algoritmos que son:
♥ preorden
♥ Inorden
♥ Posorden
Son unos temas faciles que si se manejar.



No hay comentarios:

Publicar un comentario