WHILEEN PYTHON - appmovil.cem.itesm.mx · 19/03/19 Ing. Roberto Martínez Román - rmroman@itesm.mx...

Preview:

Citation preview

19/03/19

Ing. Roberto Martínez Román -rmroman@itesm.mx 1

W H I L E E N P Y T H O N

Ing. Roberto Martínez Román - rmroman@itesm.mx

Ciclos

Estructuras de repetición, ciclos

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 2

Ciclos controlados por condición

Ing. Roberto Martínez Román - rmroman@itesm.mx

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 - rmroman@itesm.mx

� La sintaxis es:

while condición:InstrucciónInstrucción

Cierto

FalsoRegreso automático

19/03/19

Ing. Roberto Martínez Román -rmroman@itesm.mx 3

Ejercicio

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 4

Diferencia entre for, while, if

Ing. Roberto Martínez Román - rmroman@itesm.mx

Ciclo for

Ciclo while

if

Moviendo la tortuga

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 5

Carrera de tortugas

Ing. Roberto Martínez Román - rmroman@itesm.mx

Ejercicio

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 6

break y continue

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 7

Ejercicio de repaso

Ing. Roberto Martínez Román - rmroman@itesm.mx

� 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 - rmroman@itesm.mx

� 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 -rmroman@itesm.mx 8

Ciclos controlados por centinela

Ing. Roberto Martínez Román - rmroman@itesm.mx

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)

Recommended