Hasta ahora, vimos dos tipos de instrucciones: Las de secuencia, que se ejecutan siempre linealmente una a continuación de la otra, y las de decisión, que permiten decidir si se ejecutará o no otra instrucción.
Vamos a empezar ahora a ver el tercer grupo de instrucciones, que son
las que permiten ejecutar otras instrucciones más de una vez: las instrucciones de repetición o iteración. La primera de esas instrucciones es la instrucción while.
El formato de la instrucción es:
while condición :
....
(otras instrucciones)
....
(siguiente instrucción)
Lo primero que hace la instrucción while es analizar la condición. Si el
resultado es verdadero, se dice que "entra al ciclo", y ejecuta las
otras instrucciones que están debajo del while, indentadas a la derecha. Cuando termina de
ejecutar las otras instrucciones, vuelve a analizar la condición. Si todavía
es verdadera, vuelve a ejecutar las otras instrucciones que están dentro del ciclo. Cuando termina, vuelve a analizar la condición, y así
seguirá repitiendo las otras instrucciones que están en el ciclo hasta
que la condición sea falsa. Cuando esto ocurra, continuará ejecutando la
siguiente instrucción que esté después del while.
def factorial():
"""solicitar al usuario un número, e indicar el factorial de dicho número."""
n = int(input("Ingrese un número:"))
i = 1
fact = 1
while i<=n:
fact = fact * i
i = i+1
print ("El factorial es ",fact)
factorial()
En este ejemplo, el usuario ingresa el valor de n, y luego comienza el
ciclo. Inicialmente, i vale 1 y se guarda ese valor en fact. Luego
se suma 1 a i, y se llega al final de las instrucciones que están
dentro del ciclo: se compara i (que ahora vale 2) con n (valor ingresado
por el usuario), y si sigue siendo menor o igual, vuelve a comenzar el
ciclo: se multiplica ese valor por fact, y se pasa al valor
siguiente. Así, hasta que i sea mayor a n (valdrá n+1). En ese caso, el
ciclo no vuelve a comenzar, y el print final muestra el valor del
factorial calculado.
En este ciclo, la condición es evaluada antes de ejecutar las
instrucciones que están dentro del ciclo, por lo que si la condición no
se cumple de entrada, las instrucciones dentro del ciclo no se
ejecutarán nunca.
Una vez dentro del ciclo, las intrucciones dentro del ciclo se repetirán
hasta que se modifique el resultado de la condición, por lo es
necesario que por lo menos una de dichas instrucciones modifique las
variables presentes en la condición. (En este ejemplo, la instrucción i = i + 1 puede modificar la condición i <= n .
No hay comentarios:
Publicar un comentario