whileen python - appmovil.cem.itesm.mx · 19/03/19 ing. roberto martínez román - [email protected]...
TRANSCRIPT
19/03/19
Ing. Roberto Martínez Román [email protected] 1
W H I L E E N P Y T H O N
Ing. Roberto Martínez Román - [email protected]
Ciclos
Estructuras de repetición, ciclos
Ing. Roberto Martínez Román - [email protected]
� Estas estructuras permiten ejecutar de manera repetida un conjunto de instrucciones.
� Hay dos tipos de ciclos:¡ Controlado por un contador (for)¡ Controlado por una condición
19/03/19
Ing. Roberto Martínez Román [email protected] 2
Ciclos controlados por condición
Ing. Roberto Martínez Román - [email protected]
Permiten repetir una conjunto de instrucciones mientras una condición es cierta. No sabemos el número de repeticiones.
condición InstruccionesSi
No
Ciclos while en Python
Ing. Roberto Martínez Román - [email protected]
� La sintaxis es:
while condición:InstrucciónInstrucción
Cierto
FalsoRegreso automático
19/03/19
Ing. Roberto Martínez Román [email protected] 3
Ejercicio
Ing. Roberto Martínez Román - [email protected]
� Escribe un programa que pida al usuario las coordenadas del centro y el radio de un círculo y que lo dibuje en una ventana gráfica.
� El programa sigue pidiendo datos y dibujando círculos.
� El programa termina cuando el radio es cero.
Implementando un menú
Ing. Roberto Martínez Román - [email protected]
� En Python podemos implementar un menú con la siguiente estructura:
print("1. Calcular suma\n2. Calcular PI")print("0. Salir")opcion = int(input("Teclea tu opción: "))while opcion!=0:
if opcion==1:print("Ejecuta sumar!") # sumarValores()
elif opcion==2:terminos = int(input(...resultado = calcularPI(terminos)print(resultado)print("Ejecuta PI!") # calcularPI()
print("1. Calcular suma\n2. Calcular PI")print("0. Salir")opcion = int(input("Teclea tu opción: "))
19/03/19
Ing. Roberto Martínez Román [email protected] 4
Diferencia entre for, while, if
Ing. Roberto Martínez Román - [email protected]
Ciclo for
Ciclo while
if
Moviendo la tortuga
Ing. Roberto Martínez Román - [email protected]
� Escribe un programa que haga que la tortuga avance hacia el frente y que se detenga justo antes de chocar con la pared.
19/03/19
Ing. Roberto Martínez Román [email protected] 5
Carrera de tortugas
Ing. Roberto Martínez Román - [email protected]
Ejercicio
Ing. Roberto Martínez Román - [email protected]
� Escribe una función que recibe un valor entero positivo y regresa otro valor entero con los dígitos al revés.¡ Si recibe 4398, regresa 8934.¡ Si recibe 4700, regresa 74.¡ Si recibe 0, regresa 0.¡ Si recibe 5, regresa 5.
1. Sin usar listas, ni cadenas, solo expresiones aritméticas
19/03/19
Ing. Roberto Martínez Román [email protected] 6
break y continue
Ing. Roberto Martínez Román - [email protected]
� La instrucción break hace que el ciclo en ejecución termine, independientemente de la condición que lo controla.
for i in range(10):if i > 5:
breakprint(i)
012345
break y continue
Ing. Roberto Martínez Román - [email protected]
� La instrucción continue hace que el ciclo reinicie, es decir, ignora las instrucciones para terminar el ciclo normal.
for i in range(10):if i == 5:
continueprint(i)
012346789
19/03/19
Ing. Roberto Martínez Román [email protected] 7
Ejercicio de repaso
Ing. Roberto Martínez Román - [email protected]
� Escribe un programa que permita jugar "Adivina un número". El número es aleatorio y está entre 1 y 10; el usuario tiene solo 3 oportunidades. Si el usuario se equivoca, debes indicarle si el número correcto es mayor o menor.
Raíces cuadradas
Ing. Roberto Martínez Román - [email protected]
� Raíz cuadrada por el método de Herón.
� El Método de Heron sirve para calcular raíces cuadradas. Fue conocido desde los antiguos Griegos.
� Si x es una aproximación al valor de la raíz cuadrada de a, entonces el promedio de x y a/x es una mejor aproximación.
� Escriba una aplicación que lea desde el teclado el valor de a, que inicie con a/2 como la primer aproximación y que calcule su raíz cuadrada. El error no debe ser mayor de 0.00001
10 minutos
19/03/19
Ing. Roberto Martínez Román [email protected] 8
Ciclos controlados por centinela
Ing. Roberto Martínez Román - [email protected]
termina = False # Bandera para saber si termina la ejecución, iniciamos suponiendo que no
while not termina: # Ciclo principal, MIENTRAS la variable termina sea False, el ciclo se repite automáticamente
# Procesa los eventos que recibefor evento in pygame.event.get():
if evento.type == pygame.QUIT: # click en el botón de salir
termina = True # Queremos terminar el ciclo
# Borrar pantallaventana.fill(BLANCO)