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

Clase 26. Python 2

Este documento presenta una clase sobre controladores de flujo en Python. Explica estructuras de control como if, else, while y for y cómo se usan para modificar el flujo de ejecución de un programa. También cubre operadores lógicos y relacionales que se usan con frecuencia en las condiciones de las estructuras de control.
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)
63 vistas

Clase 26. Python 2

Este documento presenta una clase sobre controladores de flujo en Python. Explica estructuras de control como if, else, while y for y cómo se usan para modificar el flujo de ejecución de un programa. También cubre operadores lógicos y relacionales que se usan con frecuencia en las condiciones de las estructuras de control.
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/ 33

FULL STACK PYTHON

Clase 26
PYTHON 2
Controladores de flujo
Les damos la bienvenida
Vamos a comenzar a grabar la clase
Clase 25 Clase 26 Clase 27

Fundamentos de Python Controladores de flujo Cadenas y Listas

● Introducción a Python. ● Estructuras control. ● Cadenas de caracteres.


● Entorno. Hola mundo. ● Condicionales: sentencia if. ● Métodos de listas.
● Salida por pantalla: print. ● Iterativas: sentencia while y for. ● f-strings
● Lectura por teclado: input. ● Operadores lógicos y ● Índices y slicing (rebanadas).
● Tipo de datos: números relacionales. ● Tipo de datos compuestos.
enteros y flotantes, texto, ● Listas. Métodos.
booleanos. ● Tipos de datos mutables e
● Tipos de operadores. inmutables.
Aritméticos y de asignación. ● Tuplas, diccionarios, conjuntos
● Variables.
Estructuras de control
A diario actuamos de acuerdo a la evaluación de condiciones, incluso de
manera inconsciente. Si el semáforo está en verde, cruzamos la calle. Si no,
esperamos. También es frecuente evaluar más de una condición a la vez: Si
llega la factura de un servicio y tengo dinero, entonces lo pago.
En Python utilizamos las estructuras de control de flujo condicionales para
tomar decisiones similares, evaluando expresiones en las que suelen
intervenir variables, para determinar qué parte del código que hemos escrito
se va a ejecutar.
También disponemos de bucles, estructuras que permiten que un bloque de
instrucciones se repita mientras que una condición sea verdadera.
Estructuras de control
En programación, las estructuras de control permiten modificar el flujo de
ejecución de las instrucciones de un programa. Con ellas se puede:

● Ejecutar un grupo u otro de sentencias, según se cumpla o no una


condición (if)
● Ejecutar un grupo de sentencias mientras se cumpla una condición
(while)
● Repetir un grupo de sentencias un número determinado de veces (for)
Estructuras de control
En el código de un programa podemos encontrar estructuras de los
siguientes tipos:

● Secuenciales: las instrucciones se ejecutan una después de la otra, en el


orden en que están escritas, es decir, en secuencia.
● Condicionales (Selección o de decisión): ejecutan un bloque de
instrucciones u otro, o saltan a un subprograma o subrutina según se
cumpla o no una condición.
● Iterativas (Repetitivas): inician o repiten un bloque de instrucciones si se
cumple una condición o mientras se cumple una condición.
Estructuras de control

A SI/NO SI/NO

B A B A B

C C C

Secuencia Selección Iteración


Estructuras secuenciales
Las acciones se ejecutan una seguida de la otra, es decir que se ejecuta una
acción o instrucción y continúa el control a la siguiente. La ejecución es lineal
y de arriba hacia abajo. Todas las instrucciones se ejecutan una sola vez y
finaliza el programa.
Ejemplo de código que se ejecuta secuencialmente
#Programa Suma: suma dos números enteros ingresados por teclado
nro1= int(input("Ingrese el primer número: "))
nro2= int(input("Ingrese el segundo número: "))
suma= nro1 + nro2
print("La suma es:", suma)

El código del ejemplo pide un número, luego pide otro, realiza la suma de
ambos valores guardando el resultado en suma y finalmente muestra un
mensaje por pantalla.
Estructuras condicionales
Las estructuras condicionales tienen
como objetivo ejecutar un bloque de
True
instrucciones u otro en base a una False

condición que puede ser verdadera Condición


o falsa. La palabra clave asociada a
esta estructura es if. Bloque a
ejecutar si la
Si la condición es True se ejecuta el
condición es
bloque dentro del if. Luego, verdadera
independientemente del valor de
verdad de la condición, el programa
continúa con la ejecución del resto
del programa.
Tipos de Operadores

En la presentación anterior vimos los distintos tipos de operadores que


podíamos encontrar en Python:

● Operadores de Asignación
● Operadores Aritméticos
● Operadores de pertenencia
● Operadores Relacionales
● Operadores Lógicos

A continuación, abordaremos los operadores relacionales y lógicos.


Operadores relacionales
Los operadores de relacionales o de
comparación se utilizan, como su nombre
indica, para comparar dos o más valores. El
resultado de estos operadores siempre es
True o False.

Donde, los operandos podrán ser variables,


constantes o expresiones aritméticas.
Operadores lógicos
Se utiliza un operador lógico para tomar una decisión basada en múltiples
condiciones. Los operadores lógicos utilizados en Python son and, or y not.

OPERADOR DESCRIPCIÓN USO

and Devuelve True si ambos operandos son True a and b

or Devuelve True si alguno de los operandos es True a or b

not Devuelve True si el operandos False, y viceversa not a

a y b son expresiones lógicas. Cada una de ellas puede ser verdadera o falsa.

Si a y/o b son valores numéricos, se tratan como True o False según su valor sea
cero o no.
Estructuras condicionales | If

Condición

Ejemplo de estructura condicional simple


nota = float(input("Ingrese la calificación: "))

if nota >= 7:
Estructura
print("Aprobado.")
“If”

Bloque de instrucciones que


se ejecutan si la condición es
verdadera
Indentación
Estructuras condicionales | if .. else
En Python podemos utilizar la
cláusula else para determinar un
False True
grupo de instrucciones que se
Condición
ejecutará en caso de que la
evaluación de la condición resulte ser
Bloque a Bloque a
falsa. ejecutar si la ejecutar si la
Con este agregado, una estructura if condición es condición es
falsa verdadera
tiene la posibilidad de ejecutar un
bloque de instrucciones u otro,
dependiendo de si la condición es
verdadera o falsa.
Estructuras condicionales | if .. else
Condición

Ejemplo de estructura condicional if .. else


edad = float(input("Ingrese su edad: "))

Bloque de instrucciones
if edad >= 18: que se ejecutan si la
Estructura print("Puedes pasar.") condición es verdadera
“If..else” else:
print("No admitido.")
Bloque de instrucciones
que se ejecutan si la
Indentación condición es falsa
Estructuras condicionales anidadas

False True

Condición 1
False True

Condición 2
Bloque1, a
ejecutar si la
condición 1 Bloque2, a Bloque3, a
es falsa ejecutar si la ejecutar si la
condición 2 es condición 2 es
falsa verdadera
Estructuras condicionales anidadas
En una estructura condicional anidada, cada else se corresponde con el if
más próximo que no haya sido emparejado, y deben tener la misma
indentación.
En el esquema anterior, se evalúa primero la condición 1. En caso de ser falsa
se ejecuta el Bloque3 que se encuentra en su else, y finaliza la ejecución de la
estructura.
En caso de que la condición 1 sea verdadera, se procede a evaluar la condición
2, que se encuentra dentro (anidada) del primer if.
Si la segunda condición resulta verdadera se ejecuta el Bloque3, si resulta falsa
se ejecuta el Bloque2.
Estructuras condicionales | if .. elif .. else
A menudo solemos hacer una pregunta a partir de la respuesta de una pregunta
anterior. Python tiene una estructura adecuada para implementar este
comportamiento, y se conoce como if .. elif .. else.

La sección de código dentro del elif se ejecuta cuando la condición del primer if
ha resultado ser falsa (False) y la condición del elif es verdadera (True). Si la
condición del elif es falsa, entonces se ejecuta el código del bloque else.

Además, en situaciones más complejas se pueden utilizar múltiples instancias


de elif, dando lugar a estructuras condicionales elaboradas y que permiten
resolver prácticamente cualquier situación, aunque utilizando varios bloques de
instrucciones diferentes.
Estructuras condicionales | if .. elif .. else

Condición Ejemplo de estructura condicional if .. elif .. else


del “if” nota = 5
Instrucciones que se ejecutan
si la condición del primer if es
if nota >= 0 and nota < 4:
verdadera
print("Insuficiente.")
elif nota >=4 and nota < 7:
Estructura Instrucciones que se
print("En proceso.")
“If ..elif…else” ejecutan si la condición del
else:
print("Suficiente") primer if es falsa y la del elif
es verdadera

Instrucciones que se ejecutan


Indentación Condición “elif” si las condiciones de ambos if
son falsas
Estructuras condicionales
Se pueden utilizar operadores lógicos para tomar una decisión basada en
múltiples condiciones, reduciendo la cantidad de ifs anidados.
If con operadores lógicos
if (condición1) and (condición2):
if (condición1) or (condición2):

Las tablas de verdad muestran los valores de verdad de una proposición en


función del valor lógico de sus operadores.
Cond 1 Cond 2 Y (and) Cond 1 Cond 2 O (or) Cond NO (not)
V V V V V V V F
V F F V F V F V
F V F F V V
F F F F F F
Estructuras condicionales | and
Veamos un ejemplo de un condicional con and:
En un aviso del diario piden ingenieros en sistemas con 5 años de
experiencia como mínimo, para ocupar un puesto laboral. A la convocatoria
se presenta:
● Un licenciado en sistemas con 6 años de experiencia: NO LO TOMAN, pues la
primera condición es falsa.
● Un ingeniero en sistemas con 4 años de experiencia: NO LO TOMAN, pues la
segunda condición es falsa.
● Un analista programador con 4 años de experiencia: NO LO TOMAN, pues las 2
condiciones son falsas.
● Un ingeniero en sistemas con 7 años de experiencia: LO TOMAN, pues las 2
condiciones son verdaderas.
Estructuras condicionales | or
Veamos un ejemplo de un condicional con or:
Tengo invitados en casa y voy a comprar 1 kilo de helado. Sé que los únicos
gustos que comen son chocolate o vainilla. Después de ir a varias heladerías
encontré:
● Hay chocolate pero no hay vainilla. LO COMPRO, pues la primera condición es
verdadera.
● Sólo hay vainilla, no chocolate. LO COMPRO, pues la segunda condición es
verdadera.
● Hay chocolate y vainilla. LO COMPRO, pues las dos condiciones son verdaderas.
● Hay crema americana y dulce de leche. NO LO COMPRO, pues ninguna de las
condiciones es verdadera.
Estructuras repetitivas
Repiten un código dependiendo de una condición o de un contador. Si se
cumple la condición se ejecuta un bloque de código y se comprueba
nuevamente la condición. Pueden ser de dos clases:
● Ciclos Exactos: Conocemos la cantidad exacta de repeticiones. Ese
valor es aportado al iniciar el programa o por el usuario antes de que se
inicie el ciclo. Los bucles While y For pertenecen a este grupo.

● Ciclos Condicionales: No se conoce de antemano la cantidad de


repeticiones. Dependen de una condición que puede variar. Finaliza
cuando la condición es falsa. Se puede repetir una vez, varias veces o
ninguna vez. En este grupo se encuentra el bucle While.
Estructuras repetitivas | While
Ejecuta un bloque de código
mientras la condición del while es False
verdadera. Finaliza cuando la While
condición es falsa, y no sabemos de (condición)

antemano el número de veces que


se va a repetir. True

Bloque de
while condición:
instrucciones del
sentencia 1 ciclo
sentencia 2
siguiente sentencia fuera del while
Estructuras repetitivas | While
Podemos usar contadores (se incrementan o decrementan en 1 en cada
ciclo) y acumuladores (suman algún valor en cada ciclo).

Ingresar 5 valores por teclado, obtener su suma y su promedio.


cont= 1
suma= 0
while cont <= 5:
num= int(input("Ingrese un número: "))
suma = suma + num # Acumulamos, es equivalente suma += num
cont = cont + 1 # Incrementamos, es equivalente cont += 1

print("La suma es:", suma)


print("El promedio es:", suma/cont)
Estructuras repetitivas | For
Esta estructura se utiliza cuando sabemos la cantidad de repeticiones a
efectuar. Tiene el siguiente formato:
for i in range(inicio, fin, paso): i: variable que incrementa su valor en paso unidades en cada
iteración.
sentencia1
inicio: Es el valor inicial de i
sentencia2
fin: El ciclo se repite mientras i sea menor que fin.
primer sentencia fuera del for
paso: valor en que se incrementa i en cada iteración.

Si solo se escribe un número en range, indica el valor de fin (inicio y paso se asumen


1). Si se escriben dos valores, se asume que son el de inicio y fin y que paso es uno.

for i in range(fin): Se asume que inicio = 0 y paso = 1


for i in range(inicio, fin): Se asume que paso = 1
Estructuras repetitivas | For
Con el bucle for no necesitamos usar contadores, ya que la variable del ciclo
asume esa función. Esto permite escribir algunos programas de una manera
más compacta.

Ingresar 5 valores por teclado, obtener su suma y su promedio.


suma= 0
for cont in range(5):
num= int(input("Ingrese un número: "))
suma = suma + num # Acumulamos, es equivalente suma += num

print("La suma es:", suma)


print("El promedio es:", suma/(cont+1))
Estructuras repetitivas | Break
Break permite salir de un bucle for o while en el momento que se cumpla
alguna condición.
break en un bucle for Terminal break en un bucle while Terminal
suma= 0 0 cont= 0 0
for cont in range(15): 1 suma= 0 1
print(cont) while cont < 15:
2 2
suma = suma + cont print(cont)
if cont == 3: 3 suma = suma + cont 3
break La suma if cont == 3: La suma
print("La suma es:", suma) es: 6 break es: 6
cont = cont + 1
print("La suma es:", suma)

Sin embargo, break puede evitarse, y su uso no se considera una buena práctica.
Material extra
Artículos de interés
Material extra:

● Python Conditions and If statements, en w3schools


● Python While Loops, en w3schools
● Python For Loops, en w3schools

Videos:

● Estructura secuencial
● Estructura condicional
● Tablas de verdad
● If .. else e if .. else .. elif
● Uso de while
● Uso de for
No te olvides de dar el presente
Recordá:
● Revisar la Cartelera de Novedades.
● Hacer tus consultas en el Foro.
● Realizar los Ejercicios obligatorios.

Todo en el Aula Virtual.

También podría gustarte