0% encontró este documento útil (0 votos)
28 vistas31 páginas

Clase 16 - Python 4 - Condicionales II

La clase 16 de Python se centra en las estructuras condicionales, incluyendo el uso de 'if', 'elif' y 'else', así como condicionales anidadas y operadores lógicos. Se presentan ejemplos prácticos para ilustrar cómo tomar decisiones en el código, y se introduce la declaración 'match' para condicionales múltiples a partir de Python 3.10. Además, se proponen desafíos para aplicar lo aprendido en situaciones reales.

Cargado por

tute Game Play
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)
28 vistas31 páginas

Clase 16 - Python 4 - Condicionales II

La clase 16 de Python se centra en las estructuras condicionales, incluyendo el uso de 'if', 'elif' y 'else', así como condicionales anidadas y operadores lógicos. Se presentan ejemplos prácticos para ilustrar cómo tomar decisiones en el código, y se introduce la declaración 'match' para condicionales múltiples a partir de Python 3.10. Además, se proponen desafíos para aplicar lo aprendido en situaciones reales.

Cargado por

tute Game Play
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/ 31

CODO A CODO INICIAL

Clase 16
Python 4
Condicionales II
Les damos la bienvenida
Vamos a comenzar a grabar la clase
Clase 15 Clase 16 Clase 17

Python 3 - Condicionales I Python 4 - Condicionales II Python 5 - Funciones I:


Introducción
● Estructuras condicionales. ● Estructuras condicionales.
● Uso de "if" y "else" para ● Uso de "if", "eli"" y "else" ● Definición
tomar decisiones en un para tomar decisiones en ● Propósito. Ventajas
programa. un programa. ● Funciones integradas en el
● Diferencias de sintaxis ● Uso de operadores lógicos. lenguaje (len(), print(),
entre Python y PSeint ● Uso de Match. input(), etc.)
● Diferencias de sintaxis ● Sintaxis para declarar
entre Python y PSeint funciones.
● Ejemplos de funciones
sencillas.
Condicionales anidados
Las estructuras condicionales anidadas en Python se refieren a la
inclusión de una o más instrucciones "if" dentro de otra instrucción "if"
o "else". Esto permite evaluar múltiples condiciones en cascada para
tomar decisiones más complejas en el código.
En el anidamiento de estas estructuras es clave el uso de las sangrías o
indentaciones para delimitar el inicio y fin de un bloque, además de la
prueba de escritorio, que consiste en darle valores al programa para
saber cómo se comporta.
Estructuras condicionales anidadas

False True
Condición 1
Bloque2, a ejecutar si la
condición 1 es verdadera

Bloque1, a ejecutar
si la condición 1 es False True
falsa Condición 2

Bloque4, a ejecutar si Bloque3, a ejecutar si la


la condición 2 es falsa condición 2 es 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 Bloque1 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 ejecuta el Bloque2 y 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 Bloque4.
Estructuras condicionales anidadas | Ejemplo
usuarioRegistrado = True
contrasenaCorrecta = True

if usuarioRegistrado == True: # Condición 1


B print("Usuario registrado. Por favor, ingrese su contraseña.")
if contrasenaCorrecta: # Condición 2
C print("Contraseña correcta. ¡Bienvenido al sistema!")
else:
D print("Contraseña incorrecta. Acceso denegado.")
else:
A print("Usuario no registrado. Por favor, regístrese para acceder.")

A. Bloque1 (si es falsa la condición 1).


B. Bloque2 (si es verdadera la condición 1).
C. Bloque3 (si es verdadera la condición 1 y es verdadera la condición 2)
D. Bloque3 (si es verdadera la condición 1 y es falsa la condición 2)
Estructuras condicionales anidadas | Otro ejemplo
En este ejemplo se solicita una nota y se determina el resultado del
estudiante. Si la nota ingresada es mayor o igual a 7, ha aprobado. Si está
entre 4 y 6 (inclusive) debe rendir examen. Si es menor a 4 debe recursar.

nota = int(input("Ingrese la nota: "))


True False
nota >=
7
if nota >= 7:
print("Ha aprobado la materia.") True False
nota >=
else: Ha aprobado 4
la materia.
if nota >= 4:
print("Debe rendir examen.")
Debe rendir Debe
else: final. recursar.

print("Debe recursar.")
Estructuras condicionales | if .. elif .. else
A menudo solemos hacer una pregunta a partir de la respuesta de una
pregunta anterior. Python puede implementar este comportamiento usando
la estructura 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 y la condición del elif es verdadera. 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, utilizando varios
bloques de instrucciones diferentes.
Estructuras condicionales | if .. elif .. else
Volviendo al ejemplo de las notas,
nota = int(input("Ingrese la nota: "))
supongamos que debemos agregar
más condiciones y anidar múltiples if nota == 10:
estructuras condicionales. print("Desempeño excelente!")
elif nota >= 8:
En este ejemplo, de acuerdo a la print("Muy buen desempeño!")
elif nota >= 6:
nota aparecen distintos mensajes. Si
print("Buen desempeño")
bien podemos anidar múltiples if … elif nota >= 4:
else, Python nos ofrece la print("Desempeño regular")
posibilidad de utilizar elif. else:
print("Debes esforzarte más")
Estructuras condicionales | if .. elif .. else
Explicación del ejemplo anterior:
nota = int(input("Ingrese la nota: "))
B
A. Estructura if…elif…else.
B. Condición del if…
if nota == 10:
print("Desempeño excelente!") C C. Instrucciones que se ejecutan si la
elif nota >= 8: condición del primer if es verdadera.
print("Muy buen desempeño!") D D. Instrucciones que se ejecutan si la
elif nota >= 6: condición del primer if es falsa y la
A
print("Buen desempeño") D del elif es verdadera.
elif nota >= 4: E. Instrucciones que se ejecutan si las
print("Desempeño regular") D condiciones anteriores son falsas.
else:
print("Debes esforzarte más") E
Otro ejemplo de estructura condicional anidada
clima = input("¿Cómo está el clima hoy? (soleado/nublado/lloviendo): ")

if clima == "soleado":
print("¡Hay sol! Podrías llevar ropa ligera.")
temperatura = float(input("¿Cuántos grados hace?: "))
if temperatura > 30:
print("¡Hace mucho calor! Un sombrero y protector solar podrían ser útiles.")
elif temperatura >= 20:
print("La temperatura es agradable.")
else:
print("Hace calor, pero no demasiado. Un suéter ligero podría ser útil.")
elif clima == "nublado":
print("Está nublado. Un suéter podría ser necesario.")
else:
print("Está lloviendo. ¡No olvides el paraguas y una chaqueta impermeable!")
Uso de operadores lógicos
Se pueden utilizar operadores lógicos para tomar una decisión basada en
múltiples condiciones, reduciendo la cantidad de ifs anidados:
if condicion1 and condicion2:
if condicion1 or condicion2:

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
Uso de operadores lógicos | 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.
Uso de operadores lógicos | and
puesto = "Ingeniero en sistemas"
experiencia = 6

if puesto == "Ingeniero en sistemas" and experiencia >= 5:


print("Ha obtenido el puesto laboral")
else:
print("No cumple con los requisitos")

En este ejemplo solamente podrán obtener el puesto laboral aquellos que


sean “Ingeniero en sistemas” y tengan 5 o más años de experiencia laboral.
Si alguno de los dos requisitos no se cumplen la leyenda que aparece es “No
cumple con los requisitos”.
Uso de operadores lógicos | 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.
Uso de operadores lógicos | or
sabor1 = "Chocolate"
sabor2 = "Vainilla"

if sabor1 == "Chocolate" or sabor2 == "Vainilla":


print("Compro el kilo de helado")
else:
print("No compro el kilo de helado")

En este ejemplo el kilo de helado se compra si se cumple con alguno de los


requisitos de sabor: debe ser de Chocolate o de Vainilla.
Si ninguno de los dos requisitos se cumple la leyenda que aparece es “No
compro el kilo de helado”.
Condicional múltiple | Uso de Match
PSeint dispone del condicional “Según…”. dia = input("Introduzca un número de día: ")
match dia:
Python, a partir de la versión 3.10, posee case "1":
“Match”, una declaración de coincidencia print("Es lunes")
que permite realizar acciones diferentes case "2":
print("Es martes")
según los valores de una variable. Utiliza case "3":
declaraciones de caso (case statements) print("Es miércoles")
para especificar los casos en los que exista case "4":
print("Es jueves")
coincidencia. case "5":
Se puede utilizar “_” como declaración de print("Es viernes")
caso para especificar un bloque de case "6":
print("Es sábado")
instrucciones a ejecutar cuando ninguno case "7":
de los casos anteriores se cumple. print("Es domingo")
case _:
print("Día no válido")
Condicionales anidados | PSeint vs. Python
Algoritmo condicionalAnidado temperatura = float(input("¿Temperatura
actual?: "))
Escribir "¿Temperatura actual?: "
Leer temperatura if temperatura >= 30:
Si temperatura >= 30 Entonces
print("Hace calor")
Escribir "Hace calor"
SiNo else:
Si temperatura >= 20 Entonces if temperatura >= 20:
Escribir "Está agradable" print("Está agradable")
SiNo else:
Escribir "Hace frío" print("Hace frío")
Fin Si
Fin Si
Este programa solicita la temperatura y
FinAlgoritmo determina si es hace calor, está agradable
o hace frío en base a valores predefinidos.
Operadores lógicos | PSeint vs. Python
Algoritmo operadoresLogicosAnd edad = int(input("Ingrese la edad: "))
registro = int(input("¿Tiene registro al
Escribir "Ingrese la edad: " día? 1-SI, 0-NO: "))
Leer edad
Escribir "¿Tiene registro al día?
if edad >= 18 and registro == 1:
1-SI, 0-NO: "
Leer registro print("Puede conducir")
else:
Si edad >= 18 ∧ registro == 1 print("No puede conducir")
Entonces
Escribir "Puede conducir"
Este programa solicita la edad y verifica si
SiNo
el usuario tiene el registro de conducir al
Escribir "No puede conducir"
día. Si la edad es igual o mayor a 18 y el
Fin Si registro está actualizado (valor 1), imprime
"Puede conducir". En caso contrario,
FinAlgoritmo imprime "No puede conducir".
Operadores lógicos | PSeint vs. Python
Algoritmo operadoresLogicosOr color = input("Ingrese el nombre del
color: ")
Escribir "Ingrese el nombre del
color:"
if color == "Rojo" or color == "Verde"
Leer color
or color == "Azul":
Si color == "Rojo" ∨ color == "Verde" print("Es un color primario")
∨ color == "Azul" Entonces else:
Escribir "Es un color primario" print("No es un color primario")
SiNo
Escribir "No es un color
primario"
Fin Si Este programa solicita el nombre del color y
determina si pertenece a los colores
FinAlgoritmo primarios (rojo, verde y azul) o no,
imprimiendo una leyenda en cada caso.
Condicional múltiple | PSeint vs. Python
Algoritmo usoDeSegun opc = int(input("Seleccione una opción: 1-
Extraer, 2- Depositar, 3- Consultar Saldo, 4-
Escribir "Seleccione una opción: 1- Salir: "))
Extraer, 2- Depositar, 3- Consultar Saldo, 4-
Salir:"
Leer opc match opc:
case 1:
Segun opc Hacer print("Ingresando a extracciones...")
1:
Escribir "Ingresando a case 2:
extracciones..." print("Ingresando a depósitos...")
2: case 3:
Escribir "Ingresando a print("Consultando saldo...")
depósitos..."
3: case 4:
Escribir "Consultando saldo..." print("Saliendo...")
4: case _:
Escribir "Saliendo..." print("Opción incorrecta!")
De Otro Modo:
Escribir "Opción incorrecta!"
Fin Segun Este programa simula un cajero automático,
ofreciendo distintas leyendas de acuerdo a
FinAlgoritmo
la selección del usuario.
Desafíos
Desafío 1: Descuentos en tienda de ropa
Escribe un programa en Python que solicite al usuario el monto total de la
compra y la cantidad de artículos que está comprando. El programa debe
determinar el descuento aplicable según las siguientes reglas:
● Si la cantidad de artículos comprados es mayor o igual a 5 y el monto
total es mayor a $10000, aplica un descuento del 15%.
● Si la cantidad de artículos comprados es menor a 5 pero mayor o igual a
3, aplica un descuento del 10%.
● Si la cantidad de artículos comprados es menor a 3, no se aplica
descuento.
Al final, el programa debe imprimir el monto total de la compra después de
aplicar cualquier descuento o simplemente el monto original si no hay
descuento.
Desafío 2: Categorización de productos según su tipo
Escribe un programa en Python que solicite al usuario ingresar el código de
un producto y determine a qué categoría pertenece según las siguientes
reglas:
● Si el código comienza con "A", el producto es de tipo "Electrónico".
● Si el código comienza con "B", el producto es de tipo "Ropa".
● Si el código comienza con "C", el producto es de tipo "Alimenticio".
● Si el código no coincide con ninguna de las anteriores, el programa debe
mostrar un mensaje indicando que el tipo de producto es
"Desconocido".
Importante: No utilizar condicionales anidados para resolver este ejercicio.
Material extra
Artículos de interés
Material extra:

● Aprende los condicionales en Python con ejemplos | Pythones


● Match…Case en Python | Johan Moises Ariza Mahecha

Videos:
● if…elif…else | Tutoriales sobre Ciencia y Tecnología
● if…elif…else | Programación ATS
● Match en Python | TecnoBinaria
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.


Muchas gracias por tu atención.
Nos vemos pronto

También podría gustarte