Comparan valores. Operandos pueden ser cualquier expresión que pueda ser comparado. Resultado siempre es un valor lógico.
==
)!=
)>
)<
)>=
)<=
)5 == 3
4 > 7
4 != 3
"casa" == 'casa'
3 > 3
"a" < "z"
Tienen operandos y resultado de tipo lógico.
and
or
not
3 == 5 and False
3!=5 or False
not True
(False or (not False)) and (not True)
((3 + 4) < 2) or ((2**4) >= 4)
((3 + 4) < 2) and ((2**4) >= 4)
if
¶La sentencia if
ejecuta las instrucciones solo si se cumple una condición. Si la condición es falsa no se hace nada
Sintaxis:
if condicion:
sentencias
Sintaxis:
if condicion:
sentencias
La Tabulación/Sangría después de la instrucción if
indica que cosas se realizarán si se cumple la condición. Esto se llama Indentación.
La indentación es equivalente a utilizar el espacio de rompecabezas interno en bloque if
de Trinket (después de do
).
from IPython.display import IFrame
IFrame('https://trinket.io/embed/blocks/b2e558ce40?hideGeneratedCode=true', width="75%", height=300)
nota = int(input("Ingrese su nota: "))
if nota >= 55:
print("Felicitaciones!!!")
nota = int(input("Ingrese su nota: "))
if nota < 55:
print("Lamentablemente Ud. ha reprobado.")
if-else
¶La sentencia if-else
decide que instrucciones ejecutar, dependiendo si una condición es verdadera o falsa.
Sintaxis:
if condicion:
sentencias cuando la condicion es verdadera
else:
sentencias cuando la condicion es falsa
La indentación es equivalente a utilizar el espacio de rompecabezas interno en bloque if-else
de Trinket (después de do
ó else
).
from IPython.display import IFrame
IFrame('https://trinket.io/embed/blocks/b6016326cc?hideGeneratedCode=true', width="75%", height=300)
edad = int(input("Cual es su edad? "))
if edad < 18:
print("Usted es menor de edad")
else:
print("Usted es adulto")
¿Qué mensajes se muestran en el siguiente código si ingresamos...?
n = int(input("Ingrese un numero: "))
if n%2==0:
print("El numero es par")
print("La mitad del numero es",n/2)
else:
print("El numero es impar")
print("El sucesor del numero es",n+1)
print("Done")
if-elif-else
¶La sentencia if-elif-else
depende de dos o más condiciones, que son evaluadas en orden. La primera que sea verdadera determina qué instrucciones son ejecutadas.
Sintaxis:
if cond1:
sentencias a ejecutar si cond1 es verdadera
elif cond2:
sentencias a ejecutar si cond2 es verdadera
elif cond3:
sentencias a ejecutar si cond3 es verdadera
...
else:
sentencias cuando ninguna condicion anterior es verdadera
La Indentación después de cada instrucción elif
indica que cosas se realizarán si se cumple su respectiva condición (consecuentemente, si no se cumplen las condiciones anteriores)
De manera equivalente, en Trinket, cada condición tiene su propio espacio interno en el bloque de rompecabezas.
from IPython.display import IFrame
IFrame('https://trinket.io/embed/blocks/1c77839c3a?hideGeneratedCode=true', width="75%", height=300)
from IPython.display import IFrame
IFrame('https://trinket.io/embed/blocks/ad88304c71?hideGeneratedCode=true', width="100%", height=600)
nota = int(input("Ingrese su nota: "))
if nota >= 80:
print("Usted es un alumno destacado.")
elif nota >= 65:
print("Usted ha aprobado.")
elif nota >= 55:
print("Usted aprobó con algunas dificultades.")
elif nota >= 45:
print("Con un poco mas de empeño hubiese aprobado.")
else:
print("Nos vemos el próximo semestre.")
Sueldo | Tasa de impuesto |
menos de 1000 | 0% |
1000 ≤ sueldo < 2000 | 5% |
2000 ≤ sueldo < 4000 | 10% |
4000 o más | 12% |
Un ejemplo de como se calcula el impuesto sería el siguiente:
sueldo = int(input("Ingrese su sueldo: "))
if sueldo < 1000:
print("caso 1")
tasa = 0.00
elif sueldo < 2000:
print("caso 2")
tasa = 0.05
elif sueldo < 4000:
print("caso 3")
tasa = 0.10
else:
print("caso falso")
tasa = 0.12
print("Usted debe pagar", int(tasa*sueldo), "de impuesto.")
Otra forma de calcular el impuesto es la siguiente:
sueldo = int(input("Ingrese su sueldo: "))
if sueldo < 1000: #1000 > sueldo:
print("caso 1")
tasa = 0.00
if sueldo >= 1000 and sueldo < 2000: #if 1000 <= sueldo < 2000:
print("caso 2")
tasa = 0.05
if 2000 <= sueldo < 4000:
print("caso 3")
tasa = 0.10
if 4000 <= sueldo: #sueldo>= 4000
print("caso falso")
tasa = 0.12
print("Usted debe pagar", int(tasa*sueldo), "de impuesto.")
¿En qué se diferencian los dos programas anteriores?
if
como instrucción obligatoria.elif
y else
son opcionales. Si son utilizadas, siempre irán en compañía de un if
.Desarrolle un programa que genere aleatoriamente el lanzamiento de una moneda e indique el resultado del éste.
from random import randint
moneda=randint(0,1)
if moneda==0:
print("El lanzamiento es CARA.")
else:
print("El lanzamiento es SELLO.")
Un año es bisiesto si es divisible por 4, excepto si es divisible por 100 y no por 400. Escriba un programa que reciba un año como entrada e indique True
si un año es bisiesto o False
si no lo es.
año=int(input('Ingrese año a consultar: '))
if año % 4 == 0:
if año % 100 == 0 and año % 400 != 0:
bisiesto = False
else:
bisiesto = True
else:
bisiesto = False
print(bisiesto)
year=int(input('Ingrese año a consultar: '))
if year % 400 == 0:
bisiesto = True
elif year % 100 == 0:
bisiesto = False
elif year % 4 == 0:
bisiesto = True
else:
bisiesto = False
print(bisiesto)
Solución reducida con salida modificada:
a=int(input('Ingrese año a consultar: '))
bisiesto = ((a %4 == 0 and a %100 != 0) or a %400 == 0)
if bisiesto:
print("El año", a, "es bisiesto.")
else:
print("El año", a, "no es bisiesto.")
El riesgo de que una persona sufra enfermedades coronarias depende de su edad y su índice de masa corporal:
edad < 45 | edad ≥ 45 | |
IMC < 22 | bajo | medio |
IMC ≥ 22 | medio | alto |
El índice de masa corporal (IMC) es el cuociente entre el peso del individuo en kilos y el cuadrado de su altura en metros.
Escriba un programa que reciba como entrada la altura, el peso y la edad de una persona, y entregue su IMC en conjunto a su condición de riesgo.
edad=int(input("Ingrese su edad [años]: "))
peso=float(input("Ingrese su peso [kg]: "))
alt=float(input("Ingrese su altura [m]: "))
IMC = peso / alt**2
print ("Su índice de masa corporal es:", round(IMC,2))
if IMC<22 and edad<45:
print("Su nivel de riesgo es bajo.")
elif IMC<22 and edad>=45:
print("Su nivel de riesgo es medio.")
else:
if edad<45:
print("Su nivel de riesgo es medio.")
else:
print("Su nivel de riesgo es alto.")
Realice un ruteo, utilizando la solución diseñada en el Ejercicio 3, para los siguientes valores de entrada:
edad | peso | alt | IMC |
50 | |||
65.0 | |||
1.7 | |||
22.49 |
Pantalla: |
Su índice de masa corporal es: 22.49 Su nivel de riesgo es alto. |
¿Cómo se vería el ruteo con otros valores de entrada?