0% encontró este documento útil (0 votos)
25 vistas

06 Python - Ciclo While

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas

06 Python - Ciclo While

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Python - Profesora Mariángeles Glavina 4ºINF

Guía 6 - Contenidos: PHYTON – Estructuras iterativas II – ciclo while

Bucle while
Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir,
mientras la condición tenga el valor True)
La sintaxis del bucle while es la siguiente:
while condición:
cuerpo del bucle
Cuando llega a un bucle while, Python evalúa la condición y, si es cierta, ejecuta el cuerpo del bucle. Una vez
ejecutado el cuerpo del bucle, se repite el proceso (se evalúa de nuevo la condición y, si es cierta, se ejecuta de
nuevo el cuerpo del bucle) una y otra vez mientras la condición sea cierta. Únicamente cuando la condición sea falsa,
el cuerpo del bucle no se ejecutará y continuará la ejecución del resto del programa.
La variable o las variables que aparezcan en la condición se suelen llamar variables de control. Las variables de
control deben definirse antes del bucle while y modificarse en el bucle while.
Por ejemplo, el siguiente programa escribe los números del 1 al 3:
Ejemplo de bucle while 1 1
i = 1 2
while i <= 3:
3
print(i)
i = i + 1 Programa terminado
print ("Programa terminado")
El ejemplo anterior y el siguiente se podrían haber programado con un bucle for.
Ejemplo de bucle while 2 1
i = 1 4
while i <= 50:
print(i) 13
i = 3*i + 1 40
print ("Programa terminado") Programa terminado

Una de las diferencias del bucle while con el for es que el número de iteraciones no está definida antes de empezar
el bucle, por ejemplo porque los datos los proporciona el usuario. Por ejemplo, el siguiente ejemplo pide un número
positivo al usuario una y otra vez hasta que el usuario lo haga correctamente:
Ejemplo de bucle while 3
numero = int(input("Escriba un número positivo: "))
while numero <= 0:
print ("¡Ha escrito un número negativo o nulo! Inténtelo de nuevo")
numero = int(input("Escriba un número positivo: "))
print ("Gracias por su colaboración")

Escriba un número positivo: 4 Escriba un número positivo: -4


¡Ha escrito un número negativo o nulo! Inténtelo de nuevo
Gracias por su colaboración
Escriba un número positivo: -8
¡Ha escrito un número negativo o nulo! Inténtelo de nuevo
Escriba un número positivo: 9
Gracias por su colaboración

Ciclo while – pág 1


Python - Profesora Mariángeles Glavina 4ºINF

Bucles infinitos

Si la condición del bucle se cumple siempre, el


bucle no terminará nunca de ejecutarse y
tendremos lo que se denomina un bucle
infinito, un error que debemos corregir.

Los bucles infinitos no intencionados deben


evitarse pues significan perder el control del
programa. Para interrumpir un bucle infinito,
hay que pulsar la combinación de
teclas Ctrl+C. Al interrumpir un programa se
mostrará un mensaje de error similar a éste:
Traceback (most recent
call last):
File "ejemplo.py",
line 3, in <module>
print(i)
KeyboardInterrupt

Por desgracia, es fácil programar involuntariamente un bucle infinito, por lo que es inevitable hacerlo de vez en
cuando, sobre todo cuando se está aprendiendo a programar.
Estos algunos ejemplos de bucles infinitos:

 El programador ha olvidado modificar la variable de control dentro del bucle y el programa imprimirá
números 1 indefinidamente:

i = 1
while i <= 10:
print (i) 1 1 1 1 1 1 1 1 ...

 El programador ha escrito una condición que se cumplirá siempre y el programa imprimirá números
consecutivos indefinidamente:

i = 1
while i > 0:
print (i)
i += 1 #Es la forma abreviada de escribir i = i + 1
1 2 3 4 5 6 7 8 9 10 11 ...

 En el ejemplo siguiente, el programador ha escrito una condición que se cumplirá siempre y el programa
imprimirá números consecutivos, de dos en dos, indefinidamente:

i = 1
while i != 100:
print(i, end=" ")
i += 2 1 3 5 7 9 11 ... 97 99 101 ...

Ciclo while – pág 2


Python - Profesora Mariángeles Glavina 4ºINF

EJERCICIOS

6.A) Diseñá un programa que imprima el promedio de los 30 primeros números múltiplos de 3. Realizar dos versiones
del mismo programa: una que use la estructura while y otra versión que use ciclo for.

6.B) Escribí un programa que simule las tiradas de un dado hasta que el usuario lo requiera. El usuario debe adivinar
qué número salió optando por números del 1 al 6. El programa debe informar al finalizar: cantidad de tiradas, cantidad
de aciertos y cantidad de errores

6.C) Creá un programa que pida un carácter y un número. El programa tomará el número n y dibujará en pantalla n
veces el carácter ingresado. Por ejemplo, si se ingresa # y 3, se dibujará ###. No se permiten números mayores que 50.
Además se desea que el programa permita al usuario seguir ingresando datos hasta que él lo requiera.

6.D) Escribí un programa que pida dos números enteros. El programa pedirá de nuevo el segundo número mientras no
sea mayor que el primero. El programa terminará escribiendo los dos números.
NÚMERO MAYOR
Escriba un número: 6
Escriba un número mayor que 6: 6
6 no es mayor que 6. Inténtelo de nuevo: 1
1 no es mayor que 6. Inténtelo de nuevo: 8

Los números que ha escrito son 6 y 8.

6.E) Hacer un programa que encuentre los números primos entre el 1 y el número que desee el usuario. Un número
positivo es primo, si sólo tiene por divisores el uno y el mismo número. Basta con comprobar los posibles divisores
menores o iguales que la raíz cuadrada del número dado.

6.F) Escriba un programa que calcule la descomposición en factores primos de un número entero.
Escriba un número mayor que Escriba un número mayor que 1: Escriba un número mayor que 1: 1
1: 500 521 1 no es un número que 1. Inténtelo de
Descomposición en factores Descomposición en factores nuevo: 720
primos: primos: Descomposición en factores primos:
500 2 521 521 720 2
250 2 1 360 2
125 5 180 2
25 5 90 2
55 45 3
1 15 3
55
1

6.G) Escribí un programa que pida números decimales mientras el usuario escriba número mayores que el primero.

NÚMEROS MAYORES NÚMEROS MAYORES NÚMEROS MAYORES


Escriba un número: 7 Escriba un número: 9.3 Escriba un número: 4.5
Escriba un número mayor que 7.0: 1 Escriba un número mayor que 9.3: 9.3 Escriba un número mayor que 4.5: 5
Escriba otro número mayor que 4.5: 7.3
1.0 no es mayor que 7.0. 9.3 no es mayor que 9.3. Escriba otro número mayor que 4.5: 2

2.0 no es mayor que 4.5.

Ciclo while – pág 3


Python - Profesora Mariángeles Glavina 4ºINF
6.H) Escribí un código que pida números enteros mientras sean cada vez más grandes.

CADA VEZ MÁS GRANDES CADA VEZ MÁS GRANDES CADA VEZ MÁS GRANDES
Escriba un número: 3 Escriba un número: 14 Escriba un número: 5
Escriba un número mayor que 3: 1 Escriba un número mayor que 14: 14 Escriba un número mayor que 5: 10
Escriba un número mayor que 10: 12
1 no es mayor que 3. 14 no es mayor que 14. Escriba un número mayor que 12: 25
Escriba un número mayor que 25: 9

9 no es mayor que 25.

6.I) Diseñá un programa que pida la cantidad de números positivos que se tienen que escribir y a continuación pida
números hasta que se haya escrito la cantidad de números positivos indicada.
NÚMEROS POSITIVOS NÚMEROS POSITIVOS NÚMEROS POSITIVOS
Escriba la cantidad de números Escriba la cantidad de números Escriba la cantidad de números
positivos a escribir: 0 positivos a escribir: -3 positivos a escribir: 3
La cantidad debe ser mayor que 0. La cantidad debe ser mayor que 0.
Inténtelo de nuevo: 1 Inténtelo de nuevo: 1 Escriba un número: 10
Escriba otro número: 2
Escriba un número: 4 Escriba un número: -1 Escriba otro número: -5
Escriba otro número: 1 Escriba otro número: 2
Ha escrito 1 número positivo.
Ha escrito 2 números, 1 de ellos Ha escrito 4 números, 3 de ellos
positivo. positivos.

6.J) Escriba un programa que pida números mientras no se escriba un número negativo. El programa terminará
escribiendo la suma de los números introducidos.
SUMA DE NÚMEROS SUMA DE NÚMEROS
Escriba un número: -4 Escriba un número: 12
Escriba otro número: 3
La suma de los números positivos introducidos es 0. Escriba otro número: 0
Escriba otro número: 7
Escriba otro número: -1

La suma de los números positivos introducidos es 22.

6.K) Escriba un programa que pida un valor límite positivo y a continuación pida números hasta que la suma de los
números introducidos supere el límite inicial.
HASTA EL LÍMITE HASTA EL LÍMITE
Escriba el valor límite: -3 Escriba el valor límite: 12
El límite debe ser mayor que 0. Inténtelo de nuevo: 0
El límite debe ser mayor que 0. Inténtelo de nuevo: 5.5 Escriba un número: 5.2
Escriba otro número: -1
Escriba un número: 7.2 Escriba otro número: 9

Ha superado el límite. La suma de los números Ha superado el límite. La suma de los números
introducidos es 7.2. introducidos es 13.2.

Ciclo while – pág 4


Python - Profesora Mariángeles Glavina 4ºINF
6.L) Escriba un programa que pida primero dos números enteros (mínimo y máximo) y que después pida números
enteros situados entre ellos. El programa terminará cuando se escriba un número que no esté comprendido entre los
dos valores iniciales. El programa termina escribiendo la cantidad de números escritos.
ENTRE DOS VALORES ENTRE DOS VALORES ENTRE DOS VALORES
Escriba un número: 6 Escriba un número: 8 Escriba un número: -10
Escriba un número mayor que 6: 4 Escriba un número mayor que 8: 20 Escriba un número mayor que -10: -
4 no es mayor que 6. Inténtelo de 5
nuevo: 50 Escriba un número entre 8 y 20: 45
Escriba un número entre -10 y -5: -8
Escriba un número entre 6 y 50: 45 No ha escrito ningún número entre Escriba otro número entre -10 y -5:
Escriba otro número entre 6 y 50: 6 8 y 20. 100
Escriba otro número entre 6 y 50: 4
Ha escrito 1 número entre -10 y -5.
Ha escrito 2 números entre 6 y 50.

Bibliografía:
 Bahit, E. (2012). ”Curso Python para principiantes.” Buenos Aires: www.eugeniabahit.com
 Downey, A., Elkner, J., Meyers, (2002) “Aprenda a Pensar Como un Programador”. Recuperado
desde: https://argentinaenpython.com/quiero-aprender-python/aprenda-a-pensar-como-un-
programador-con-python.pdf
 González Duque, R. (2016). “Python para todos” . Recuperado de: www.mundogeek.net
 Sánchez Alberca, A. (2020). “Ejercicios de Python”. Recuperado desde:
http://aprendeconalf.es/python/ejercicios/
 Sintes Marco, B. (2020). “Introducción a la programación con Python - www.mclibre.org”
Recuperado desde: https://www.mclibre.org/consultar/python/

Ciclo while – pág 5

También podría gustarte