Semana 2.
1
Condiciones
Introducción a la Programación
Semestre 01/2023
INGENIERÍA
¿Qué veremos hoy?
Sentencias condicionales en Python
2
Condicionales
Recordemos que en un algoritmo, los
condicionales se escriben en forma
Si <condición> Entonces
<instrucciones>
Ejemplo:
Asigna el valor 0 a x
Si x es 0 Entonces
Mostrar 'x tiene asignado el valor cero'
Condicionales
En Python, los condicionales pasan a la forma
if <condición> :
<instrucciones>
Ejemplo: x = 0
if x == 0 :
print(f'Obvio!')
== se usa para
comparar y nos
entrega un valor
de verdad
Condicionales
if <condición> : Si la condición es verdadera (True o un
<instrucciones> entero positivo), el control del
programa se dirige al bloque de
instrucciones del if. Luego continúa su
ejecución fuera del bloque
Importante
Las instrucciones dentro del bloque deben
estar indentadas con al menos un espacio. Si
no lo hace, el intérprete no ejecutará el
programa
Inicio Inicio
False True
condición condición
Bloque if
Fin Fin
6
Condicionales
area = 10
w = 8
if ( area > 10 ):
print(f"El área es mayor a 10")
w = 11
area = 9
print(w) ¿Qué valor tiene la variable w al
término del programa? ¿y area?
Diagramas T
A medida que crece nuestro código y
aumenta el número de variables, los
diagramas T nos ayudan a realizar un
seguimiento del estado de todas nuestras
variables. También son un activo invaluable,
cuando nuestro código no funciona como
esperamos, ya que nos ayuda a ralentizar
nuestros cerebros y mirar el código
exactamente como lo haría una
computadora.
Ejemplo
area = 10
w = 8
if ( area > 10 ):
print(f"El area es mayor a 10")
w = 11
area = 9
variable valor
area 10 9
w 8
Condicionales
Ejemplo:
area = 16
w = 8
if ( area > 10 ):
print(f"El area es mayor a 10")
w = 11
area = 9
¿Qué valor tiene la variable w al
print(w)
término del programa? ¿y area?
Recuerda
Los comparadores lógicos con los que cuenta
Python son:
igual a == distinto de !=
mayor > menor <
mayor igual >= menor igual <=
Condicionales
if <condición> : Si la condición es verdadera, el control
<instrucciones> del programa se dirige al bloque de
instrucciones del if. Si es falsa realiza el
else:
bloque else.
<instrucciones>
Inicio Inicio
False True
condición condición
Bloque
else Bloque if
Fin Fin
13
Analogía
Conjunto Universo = Figuras Geométricas
else
if la figura es un cuadrado
14
Condicionales
Ejemplo:
area = 16
w = 8
if ( area > 10 ):
w = 11
else:
w = 13
¿Qué valor tiene la variable w al
término del programa? ¿y area?
area = 9
print(w)
Discusión
¿Qué pasa cuando queremos
tener más casos posibles?
Analogía
Conjunto Universo = Figuras Geométricas
if la figura es un triángulo
else
if la figura es un cuadrado
Hay veces que tenemos que separar nuestro conjunto universo en
más de dos grupos: cuadrados, triángulos y el resto
¿Cómo se escribirán este tipo de condiciones en Python?
17
Condicionales
if <condición> : Si la condición es verdadera, el
<instrucciones> control del programa se dirige al
bloque de instrucciones del if. Si
else :
es falsa realiza el bloque else, en
if <condición 2> : donde verifica si se cumple la
<instrucciones> segunda condición. Si la condición
es verdadera, el control del
else :
programa se dirige al bloque de
<instrucciones> instrucciones del if del segundo
bloque. Si es falsa realiza el
bloque else del segundo bloque.
Inicio
False True
condición
True Bloque
condición if
False Bloque
else if
Bloque
else
Fin
19
Condicionales
Ejemplo:
area = 7
w = 8
if ( area > 10 ):
w = 13
else:
if ( area == 7 ):
w = 11 ¿se fijaron que hay que
indentar más?
else:
w = 9
¿Qué valor tiene la variable w al
término del programa? ¿y area?
area = 9
print(w)
if … elif … else
En Python podemos compactar las
condiciones anidadas haciendo uso de elif
SIEMPRE y CUANDO sean excluyentes
area = 3
w = 8
if ( area > 10 ):
w = 13
elif ( area < 5 ):
w = 11
else:
w = 9
¿Qué valor tiene la variable w al
area = 9 término del programa? ¿y area?
¿Qué tiene de malo este ejemplo?
area = 12
w = 8
if ( area > 10 ):
w = 13
elif ( area == 12 ):
w = 12
else:
w = 9
area = 9
print(w)
Recuerden, deben ser EXCLUYENTES
Esto no funciona Debe usarse
area = 12 area = 12
w = 8 w = 8
if ( area > 10 ): if ( area > 10 ):
w = 13 if ( area == 12 ):
elif ( area == 12 ): w = 12
w = 12 else:
else: w = 13
w = 9 else:
w = 9
area = 9
print(w) area = 9
print(w)
Ejercicios
Realice un programa que le pregunte al
usuario si le gustan los dulces y muestre el
mensaje “A mí también” si escribe algunas de
las siguientes respuestas: { Sí, Si, si, sí }
Preguntas
▪ ¿Cómo solicito los datos al usuario?
▪ ¿Cómo creo una condición compuesta?
▪ ¿Cómo se muestra el resultado?
Una solución posible
# paso 1. preguntar al usuario si le gustan los dulces y guardar la respuesta
en una variable
respuesta = input("¿Te gustan los dulces?")
# paso 2. si el usuario escribe como respuesta Sí o Si o si o sí, entonces
mostrar en pantalla el mensaje "A mi tambien"
if respuesta == 'Sí' :
print(f'A mi también')
elif respuesta == 'Si' :
print(f'A mi también')
elif respuesta == 'si' :
print(f'A mi también')
elif respuesta == 'sí' :
print(f'A mi también')
Ejercicios
Realice un programa que pregunte un
número al usuario y luego imprima en
pantalla si el número es par o impar
Preguntas
▪ ¿Cómo solicito los datos al usuario?
▪ ¿Cómo sé que un número es par?
▪ ¿Cómo se muestra el resultado?
Una solución posible
# paso 1. preguntar un número al usuario, convierto lo que escribe el usuario
a número y guardar ese número en una variable
texto_que_representa_un_numero = input("Dime un número: ")
numero = int(texto_que_representa_un_numero)
# paso 2. verificar si el numero es par o impar. Si el resto de la division
por 2 es cero entonces el numero es par. De lo contrario es impar.
if numero%2 == 0 :
resultado = 'par'
else:
resultado = 'impar'
# paso 3. mostrar en pantalla si el numero es par o impar
print(f'El número es {resultado}.')
Otras funciones en Python
Hasta el momento hemos usado las funciones
input y print. Pero Python tiene muchas más.
Una de ellas es la función len
saludo = 'hola'
largo = len(saludo)
print(f'El largo de {saludo} es {largo}')
Esto imprimirá en pantalla El largo de hola es 4
Ejercicios
Twitter tiene un límite de 280 caracteres.
Realice un programa que permita al usuario
ingresar un texto e imprimir por pantalla
“Escribe algo” si el usuario no escribió un
texto, “OK” si el texto tiene 280 caracteres o
menos, o “Texto muy largo” en caso contrario
Preguntas
▪ ¿Cómo solicito los datos al usuario?
▪ ¿Cómo sé que el largo es mayor a
280?
▪ ¿Cómo se muestra el resultado?
Una posible solución
# paso 1. Solicito al usuario ingresar un tweet y guardar lo escrito en una
variable
tweet = input(' Escribe un tweet: ')
# paso 2. obtener el largo del tweet escrito por la persona y almacenar en una
variable
largo = len(tweet)
# paso 3. Si el largo del tweet escrito por la persona es cero, entonces imprime en
pantalla 'Escribe algo'. Si el largo es menor o igual a 280, entonces imprime en
pantalla OK. De lo contrario, entonces imprime en pantalla 'Texto muy largo'
if largo == 0 :
print(f'Escribe algo...')
elif largo <= 280 :
print(f'OK')
else :
Política de la compañía telefónica “TT SA”.
Cobro en Dólares. Valor Dólar: 720 pesos
Cuando se realiza una llamada, el cobro o monto a
pagar depende del tiempo que ésta dura, de tal forma
que los primeros cinco minutos cuestan $ 1.00 c/u, los
siguientes tres, 0,8 c/u, los siguientes dos minutos, 0,7 c/u, y
a partir del décimo minuto, 0,5 c/u. Además, se carga un
impuesto de 3% cuando es domingo, y si es día hábil se
considera el turno, en turno matutino, 15%, y en turno
vespertino, 10%.
Realice el algoritmo para determinar cuánto debe pagar
por cada concepto una persona que realiza una llamada.
Mostrar los datos de salida: pago llama, pago impuesto y
total.
31
32