PORFIS DI :

PORFIS DI :

¿ESTAS A FAVOR DE LA LEGALIZACION DEL ABORTO EN GUATE?

LIBERTAD 15 DE SEPTIEMBRE DE 1821

LIBERTAD 15 DE SEPTIEMBRE DE 1821
DIA DE LA INDEPENDENCIA DE GUATEMALA

bye, bye, bye!!!

♫♪☼○○Q ONDA!!!♫♪♫♪

♥☼♫♂◘○○BIENVENIDOS AL BLOG ROCKER CLASS♫☼♫♂♪

♥♦♫TAN LINDO!!!

♥♦♫TAN LINDO!!!
♪♥♦APRECIENLO CHICAS♥♫♥

jueves, 3 de septiembre de 2009

PROGRAMACION

El Bucle 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. Observa en estos ejemplos qué listas de enteros devuelve range:

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

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

Fíjate en que 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).

No hay comentarios:

Publicar un comentario

QUE BANCO CONTABILIZA EL DINERO QUE SE ENCUENTRA EN CIRCULACION EN GUATEMALA?

QUIEN FUE EL PRIMER PRESIDENTE DE GUATEMALA?

¿HAY QUE ANIMAR A LOS EMPLEADOS A HACER SUGERENCIAS QUE MEJORESN EL LUGAR DE TRABAJO O EL SERVICIO A LOS CLIENTES?

¿HAY QUE MOTIVAR A LOS EMPLEADOS A PRESENTAR CUALQUIER IDEA, POR PEQUEÑA QUE SEA?

¿ESTAS DE ACUERDO CON LAS CANDIDATAS QUE GANARON?

¿QUE OBRA TE GUSTO MAS?