06
Encuentro 06
Programación
Orientada a
Objetos
BIENVENIDOS!
Encuentro 06. Programación Orientada a Objetos
SINTAXIS PYTHON Y
REPASO:
CONTROLADORES DE
FLUJO II
MAPA DE CONCEPTOS
SENTENCIAS
ITERATIVAS
WHILE, WHILE-
CONTROLADOR ELSE
ES DE FLUJO II
INSTRUCCIONES
BREAK-CONTINUE
ENUMERATE
FOR RANGE
Temario
06 07
05
Controladores de Conjuntos y
Controladores de diccionarios
Flujo I Flujo II
✓ Sentencias ✓ Conjuntos
✓ Flujo Iterativas
✓ Funciones de
✓ Condicional ✓ While, While- Else Conjuntos
✓ Else ✓ Instrucciones ✓ Diccionarios
Break-Continue
✓ Elif ✓ Mutabilidad
✓ Enumerate
✓ Sentencias ✓ Funciones de
✓ For Range Diccionarios
Objetivos de la clase
Identificar el proceso de iteración en
programación
Diferenciar sentencia while de sentencias while-
else
Implementar instrucción break
Diferenciar entre instrucción continue y pass
Implementar sentencia for, range y for-else-
break-continue-pass
Encuentro 06. Programación Orientada a Objetos
SENTENCIAS ITERATIVAS
REPETIR
ITERAR
• Las computadoras se usan a menudo para automatizar
tareas repetitivas. Realizar repetidamente tareas idénticas o
similares sin cometer errores es algo que las computadoras
hacen bien y que los seres humanos hacemos limitadamente.
• En matemática, se refiere al proceso de iteración de una
función, es decir, aplicando la función repetidamente,
usando la salida de una iteración como la entrada a la
siguiente.
ITERAR
• En programación, Iteración es la repetición de un segmento
de código dentro de un programa de computadora. Puede
usarse tanto como un término genérico (como sinónimo de
repetición) como para describir una forma específica de
repetición.
• Tenemos una base de datos enorme y queremos encontrar
un dato en especial para consultar.
• Como no existe una forma mágica para encontrar el dato
directamente, el programa deberá recorrer los datos uno a
uno y compararlos hasta dar con el que buscamos iterando
o repitiendo el mismo proceso desde el inicio comparando a
ver si es el que queremos o no, así hasta que encuentre el
que queremos.
• Existen algoritmos que permiten ahorrarnos tiempo e
iteraciones, pero en esencia sigue recorriendo uno a uno, la
diferencia es que nosotros tardaríamos muchas horas, y el
programa unos segundos.
• ¡Así que vamos a aprovecharnos de esto!
WHILE (NO SABES LAS LA
CANTIDAD)
FLUJO DE EJECUCIÓN
BUCLE
Más formalmente, el flujo de ejecución de una
sentencia while es el siguiente:
1. Evalúa la condición, devolviendo False o Este tipo de flujo se llama bucle
True. porque el tercer paso del bucle
vuelve arriba.
2. Si la condición es False, se sale de la
sentencia While y continúa la ejecución
con la siguiente sentencia.
Si la condición es falsa la primera
3. Si la condición es True, ejecuta cada una vez que se pasa el bucle, las
de las sentencias en el bloque de código y sentencias del interior del bucle no
regresa al paso 1.
se ejecutan nunca.
BUCLE
1. Declaramos una variable num y le asignamos el
valor int 5.
¿QUÉ PASÓ?
2. Usamos la sentencia while para indicar que
mientras que num sea mayor a 0 entremos al
4. Ingresamos al bloque de código,
imprimimos num y le restamos 1 a
bloque de código.
num
3. Al evaluar num contra 0 nos indica que es True
5. Volvemos a repetir desde el paso 2
hasta que num deje de ser mayor a
Analicemos qué pasó
0
>>> num = 5
6. Cuando la operación relacional de
>>> while num > 0:
False saldremos del bucle
print(f“{num}”)
7. Imprimimos por pantalla Terminó el
num -= 1
conteo!
>>> print(“Terminó el conteo!”)
8. Termina nuestro programa
MÁS EJEMPLOS CON WHILE
>>> n = 0
>>> while n <= 5:
n += 1
print(“N vale “, n) Para escapar un
bucle infinito generalmente
se usa ctrl + c
¿Y un bucle infinito?
>>> while True:
print(“Esto es un
bucle infinito!!!!!”)
WHILE- ELSE
SENTENCIA WHILE-ELSE
>>> while condicion:
• Algo interesante que tiene # instrucciones de while
python es que podemos >>> else:
encadenar un else (si no) al # instrucciones de while-else
final de un bucle while. >>> si no se abortó con break:
# Instrucciones del while-else
• Este else sirve para ejecutar
un bloque de código cuando el
bucle while tenga una
condición False o haya
terminado y no haya sido
forzado a salir mediante un
break.
¿QUÉ PASÓ?
>>> chance = 1
>>> while chance <= 3: 1. Declaramos una variable chance
txt = input("Escribe SI: ") y le asignamos el valor int 1.
if txt == "SI": 2. Usamos la sentencia while para
print("Ok, lo conseguiste en el indicar que mientras que chance
intento", chance) sea menor a 3 entremos al
break bloque de código.
chance += 1 3. Le pedimos al usuario que
else: ingrese una palabra con input
print("Has agotado tus tres 4. Si la palabra es “SI” ingresa al
intentos") condicional if
5. Si ingresa, imprime que lo consiguió en el intento tal y rompe el bucle con break
6. Si la condicional es False vamos a sumar uno a las chances y repetir desde el paso 2
7. Sí chance es mayor a 3, entramos en el else e imprimimos
INSTRUCCIONES
BUCLES EN PYTHON
• Usar bucles en Python nos permite automatizar y repetir tareas de manera
eficiente.
• Sin embargo, a veces, es posible que un factor externo influya en la forma en que
se ejecuta su programa.
• Cuando esto sucede, es posible que prefiramos que nuestro programa cierre un
bucle por completo, omita parte de un bucle antes de continuar o ignore ese
factor externo.
• Para hacer estas acciones python nos brinda las instrucciones
break, continue y pass.
BREAK
BREAK
• Comencemos por uno de los más sencillos y más utilizados: El break.
• En Python, la instrucción break le proporciona la oportunidad de cerrar un bucle
cuando se activa una condición externa. Debe poner la instrucción break dentro
del bloque de código bajo la instrucción de su bucle, generalmente después de
una sentencia if condicional.
>>> n = 5:
>>> while n < 10:
n -= 1
if n == 2:
print(“ahora que n vale 2 salimos”)
break
print(“n vale “, n)
¿QUÉ PASÓ?
1. Declaramos una variable n y le asignamos el valor int 5.
2. Usamos la sentencia while para indicar que mientras que n sea menor a 10
entremos al bloque de código.
3. Le restamos 1 a n
4. Usamos una sentencia if condicional para igualar n a 2
5. Si da True imprime ahora que n vale 2 salimos y con break sale del bucle, ya no
se ejecuta el resto
6. Si da False imprime que n vale n y vuelve al paso 2.
• Consigna: Explica qué sucedió en este caso:
>>> c = -3:
>>> while True:
c += 1
if c == 2:
print(“ahora que c vale 2 salimos”)
break
print(“c vale “, c)
CONTINUE
CONTINUE
• La instrucción continue da la opción de omitir la parte de un bucle en la que se
activa una condición externa, pero continuar para completar el resto del bucle.
Es decir, la iteración actual del bucle se interrumpirá, pero el programa volverá a
la parte superior del bucle.
• Debe poner la instrucción continue dentro del bloque de código bajo la
instrucción de su bucle, generalmente después de una sentencia if condicional.
>>> n = 0:
>>> while n < 10:
n += 1
if n == 2:
print(“Continuamos con la siguiente iteración”)
continue
print(“n vale “, n)
ANALICEMOS QUÉ PASÓ
1. Declaramos una variable n y le asignamos el valor int 0.
2. Usamos la sentencia while para indicar que mientras que n sea menor a 10
entremos al bloque de código.
3. Le sumamos 1 a n
4. Usamos una sentencia if condicional para igualar n a 2
5. Si da True imprime Continuamos con la siguiente iteración y con continue rompe
la iteración, pero no de todo el bucle, sólo de esta iteración
6. Si da False imprime que n vale n y vuelve al paso 2.
PASS
PASS
• Cuando se activa una condición externa, la instrucción pass permite manejar la
condición sin que el bucle se vea afectado de ninguna manera; todo el código
continuará leyéndose a menos que se produzca la instrucción break u otra
instrucción.
• Debe poner la instrucción pass dentro del bloque de código bajo la instrucción de
su bucle, generalmente después de una sentencia if condicional.
>>> n = 0:
>>> while n < 10:
n += 1
if n == 2:
pass
print(“n vale “, n)
ANALICEMOS QUÉ PASÓ
1. Declaramos una variable n y le asignamos el valor int 0.
2. Usamos la sentencia while para indicar que mientras que n sea menor a 10
entremos al bloque de código.
3. Le sumamos 1 a n
4. Usamos una sentencia if condicional para igual n a 2
5. Si da True con la instrucción pass le indica al programa que continúe ejecutando
el bucle e ignore el hecho de que la variable n se evalúa como equivalente a 2
durante una de sus iteraciones
6. Si da False imprime que n vale n, le resta 1 y vuelve al paso 2.
¿Preguntas?
¿Quieres saber más?
Te dejamos material
ampliado de la clase
MATERIAL AMPLIADO
Recursos multimedia
✓ [Link] | Link a la Meet (Encuentro presencial los
Martes y Jueves de 9:00 a 11:50 hs)
✓ [Link]
?usp=sharing | Acceso a la carpeta del Drive
Break
Encuentro 05. Programación Orientada a Objetos
FOR
FOR (REPETIR PERO
SABIENDO LA CANTIDAD)
SENTENCIA FOR
Ahora seguiremos con la sentencia iterativa que podríamos decir es la más usada
For (para).
Se utiliza para recorrer los elementos de un objeto iterable (lista, tupla…) y ejecutar
un bloque de código, o sea, tiene un número predeterminado de veces que itera.
En cada paso de la iteración se tiene en cuenta a un único elemento del objeto
iterable, sobre el cuál se pueden aplicar una serie de operaciones.
>>> lista = [1,2,3,4,5]
>>> for valor in lista:
print(“Soy un item de la lista y valgo “,
valor)
EJEMPLO GRÁFICO
valor simplemente es una copia local, no afecta fuera del bucle a menos que se devuelva el
valor
EJEMPLO FOR
>>> lista = [0,1,2,3,4,5,6,7,8,9,10]
>>> for num in lista:
print(“Soy un valor de la lista y valgo “, num)
num *= 5
print(“Soy un valor de la lista y ahora valgo “, num)
>>> indice = 0
>>> numeros = [0,1,2,3,4,5,6,7,8,9,10]
>>> for numero in numeros:
numeros[indice] *= 5
indice += 1
# tambien se puede con indice = numero
>>> print(numeros)
ENUMERATE
ENUMERATE
La función incorporada enumerate(lista/tupla_de_valores) toma como argumento un
objeto iterable y retorna otro cuyos elementos son tuplas de dos objetos:
El primero de los dos indica la posición de un elemento perteneciente a el objeto
iterable, es decir, el índice.
El segundo, el elemento mismo.
Esto se conoce como lectura secuencial de clave y valor, lo vamos a usar
bastante en el futuro!
FOR + ENUMERATE
Si quisiéramos modificar la lista:
Si quisiéramos recorrer
un string:
>>> texto = "Hola Mundo, estoy usando for en Pythox"
>>> for indice, letra in enumerate(texto):
print(letra)
print(indice)
RANGE
¿QUÉ ES RANGE?
• Como vimos, el for en python necesita una colección de datos para poder
utilizarlo, en otros lenguajes necesitamos solamente un número para indicar las
iteraciones a cumplir.
• Para simular estos casos Python nos provee de una función denominada range()
(rango) el cual representa una colección de números inmutables.
RANGE
Constructores para crear objetos Range
range(fin): Crea una secuencia numérica que va desde 0 hasta fin - 1.
for numero in range(10)
range(inicio, fin): Crea una secuencia numérica que va desde inicio hasta fin - 1.
for numero in range(5, 10)
range(inicio, fin, [paso]): Crea una secuencia numérica que va desde inicio hasta fin -
1. Si además se indica el parámetro paso, la secuencia genera los números
de paso en paso.
for numero in range(0, 20, 2)
VENTAJAS
>>> range(0,10)
Parece ser exactamente una lista que va de 0 a 10, pero range interpreta el inicio y
fin en tiempo de ejecución y eso le da ventaja contra la lista.
Si tuviéramos una lista de 0 a 10000 estaría ocupando muchísimo espacio en
memoria.
VENTAJAS
>>> range(0,10000)
Ahora, si hiciéramos range(0,10000), range interpreta esto en tiempo de ejecución,
es decir cuando se ejecuta el 0 se crea el 0 cuando se ejecuta el 1 se crea el 1 y se
elimina el 0 y así continuamente, y esto no ocupa memoria
FOR ELSE
Igual que en la sentencia while podemos usar un else al final de la iteración
>>> for numero in range(10):
print(“Numero vale “,numero)
else:
print("Se terminó de iterar y numero
vale: ", numero)
FOR-BREAK-CONTINUE-PASS
Igual que en la sentencia while podemos usar también las instrucciones break
continue y pass
>>> for numero in range(10):
if numero == 2:
continue
elif numero == 8:
break
print(“Numero vale “,numero)
else:
print("Se terminó de iterar y numero vale: ", numero)
EJERCICIOS
Realizar los siguientes ejercicios
DESAFÍO DE LISTAS
Formato: Usar GoogleColab
>> Consigna: Haremos el siguiente listado de ejercicios:
• Escribir un programa que enumere los países de la siguiente lista:-------3
• paises = ['Canada', 'USA', 'Mexico', 'Australia', Argentina, China, India]
• Crear un bucle que sume los pares del 0 al 100-------------1
• Imprimir por pantalla los números del 1 al 10 al revés-----------2
• Pedirle a un usuario que ingrese un número, y devolver los dígitos totales del número
• Por ejemplo, si el número es 75869, la salida debería ser 5.----------4
>> Sugerencia:
• Para imprimir por pantalla al reves se debe usar el mayor número, luego el menor, y el paso
sería con -1 range(mayor, menor, -1)
PUESTA EN COMÚN
¡Analicemos por última vez!
n = 0
while n < 10:
if (n%2) == 0:
print(n, ‘es un número par’)
else:
print(n, ‘es un número impar’)
n += 1
¡Ahora podemos entender que hace este programa que vimos hace unas clases!
3
¡CONTROL DE FLUJO!
Breve resumen de la consigna del desafío.
¡PRÁCTICAS INICIALES!
Formato: Documento Google Docs o un link a su Colabs.
En un documento que tiene el nombre de “Desafío entregable”, deben
colocar su nombre: “Nombre+Apellido”.
>> Consigna: Realizar los ejercicio que se encuentran disponibles en la carpeta @resources del
Drive de este encuentro:
>>Aspectos a incluir en el entregable:
- Copia del documento con tus respuestas. Documento
1) Escribí un programa que lea dos números por teclado y permita elegir entre 4 opciones en un
menú
2) Escribí un programa que lea un número impar por teclado. Si el usuario no introduce un número
impar, debe repetirse el proceso hasta que lo introduzca correctamente.
3) Escribí un programa que sume todos los números enteros impares desde el 0 hasta el 100
4) Escribí un programa que pida al usuario cuantos números quiere introducir. Luego lee todos los
números y realiza una media aritmética
5) Escribí un programa que pida al usuario un número entero del 0 al 9, y que mientras el número
no sea correcto se repita el proceso. Luego debe comprobar si el número se encuentra en la
lista de números y notificarlo:
6) Utilizando la función range() y la conversión a listas genera las siguientes listas dinámicamente:
¿Preguntas?
¿Quieres saber más?
Te dejamos material
ampliado de la clase
MATERIAL AMPLIADO
Recursos multimedia
✓ Artículo: Iteración
✓ Artículo: While - Break – Continue
✓ Artículo: For
✓ Artículo: Range
✓ EjemploClase
Resumen
de la clase hoy
✓ Iteración
✓ While
✓ Instrucciones break - continue – pass
✓ For