Decide por mí II… (Iteraciones: while)
Imagen:diwo.bq.com |
Que tal aventureros, en la entrada
anterior vimos if/else que permite tomar decisiones, Pues hoy te traigo otra
herramienta:
sentencias). Existen dos sentencias para implementar iteraciones, las cuales
son: while y for.
- La sentencia while se repetirá siempre y cuando la condición sea verdadera.
- La sentencia for, por otra parte repetirá
instrucciones un número específico
de veces.
Lazo while
condición se cumple, es de recalcar que dentro de este lazo debemos de colocar
una sentencia para que este lazo termine, de lo contrario será infinito.
números que este decida?
mensaje tipo “Digite la cantidad de números a ingresar”. Pero si el usuario
no sabe de antemano cuantos números va a ingresar… La posible solución con if
no es “amigable” con el usuario, siempre hay que mejorar el programa, para esto
tenemos a while.
<condición>:
<hacer algo>
debemos de colocar una sentencia para detenerlo. De esta manera pediremos al
usuario ingresar algún valor para que salga de la infinidad.
num=int(input("Ingrese número: ")) print("El número ingresado es: ",num) resp=input("Desea ingresar más números digite si o no: ") while resp=="si": num=int(input("Ingrese número:")) print("El número ingresado es: ",num) resp=input("Desea ingresar más números digite si o no: ") print("Gracias por usar el programa :)")
establecer la condición he pedido al
usuario que ingrese “si” como afirmación, si responde “si” entonces pedirá un
nuevo número, lo mostrará por pantalla y volverá a pedirlo mientras se cumpla
esta condición, el script se ejecuta pero nos encontramos con algunas líneas
repetidas.
verdadero), y en este sentido nos ahorramos mucho además de ser eficiente, de
igual manera no debemos olvidar como detenerlo.
internet hay dos formas de detener el while
y por ende el while True, una sería mediante una variable contadora que la
explicaré más adelante, y la otra es mediante un break, sentencia para detenerlo.
lo almacena en una variable, lo presenta y pregunta al usuario si desea
seguir ingresando. Luego analiza si la respuesta de dicha pregunta es igual a
0, entonces presenta un mensaje de agradecimiento y de no haber un break, seguiría ejecutándose el código.
Haz tu mismo la prueba sin break. No te
olvides de las identaciones, el break se ejecuta cuando la condición del if se
efectúa, de no ser cierto vuelve a repetirse desde la primera línea, es decir
volvería a pedir un número.
contadora, acumuladora. Sin embargo solemos confundirnos en el momento de
usarla.
números del 1 al 10.
que la condición será variable<=10. De esa forma se presentará los números hasta el 10, pero
Python debe contar tal y como nosotros lo haríamos.
- Nombraremos a la
variable contadora count
- Dicha variable debe
de cambiar (aumentar, en este caso) para que muestre cada número.
definimos los de Incremento, bueno aquí lo utilizaremos:
count=1 while count<=10: print(count) count+=1
Python incremente el valor inicial de la variable, de lo contrario tendríamos
un bucle infinito.
IDE PyCharm |
ingrese -1 presente el promedio de los mismos.
- Posibles
condiciones: En algunos casos no tendrás tan claro la condición, te recomiendo
que comiences haciendo las operaciones, - La fórmula del
promedio es (n1+n2+…n)/total de números.
Deduciendo que
necesitamos contar los números ingresados, y acumular en otra variable la suma
de los mismos.
operaciones.
- variable acumuladora suma, variable contadora cont y ambas la inicializo con cero, en otro
lenguaje: suma=0;cont=0
- Presentar el promedio prom=0
- Suma deberá de acumular la suma de los números:
suma+=num
- Contar los números: cont+=1
La clave del
ejercicio está en el enunciado… y
cuando ingrese -1 presente el promedio de los mismos.
variables se paralizan y la operación del promedio se calcula fuera del while; por último imprimimos el
resultado.
obviamente porque mientras se cumpla esta expresión el programa seguirá
operando…
print("## Calcule su promedio##") suma=0;cont=0;prom=0 num=int(input("Ingrese número: ")) while num!=-1: suma+=num cont+=1 num=int(input("Ingrese número : ")) prom=suma/cont print("nEl promedio de ", cont,"números es: ", prom
click en la opción run de la barra superior, seleccionamos el archivo y
agregamos breakpoints, más información
página donde podemos programar muchos lenguajes incluido Python y también
depura. Eficaz en mostrar el funcionamiento de estos ciclos, aquí te dejo el
link del ejercicio.
Lo que
no se practica se olvida
3.- Escribir un programa en Python que valide el ingreso de un número
positivo.
un programa en Python que muestre la suma de los dígitos de un número.
elevarlos al cuadrado, si es impar mostrar su cubo
ingresado: 3
-
-
Hola Claudio, espero que te encuentres muy bien. Te saludo desde California, USA. Tengo 65 y pense que era el de mas edad por aca. Felicitaciones y sigamos adelante. Todavia hay mucho por hacer.
-
-
si
-
los ejercicios introducidos están resueltos en algún lado?
-
Aqui les comparto los archivos de como los resolvi por si alguien les quiere echar un vistazo
https://drive.google.com/open?id=1ohFAfZBtmQypSvpcyv-pkJaCUkphzESe
-
Deja una respuesta
soy un octogenario que se ha entusiasmado con esta cosa de la programación.Muy interesante los ejemplos presentados.Talvez seria interesante incluir tambien más ejemplos resueltos,que presenten además más soluciones alternativas.