Dijimos que una condición es una expresión cuyo valor puede ser verdadero o falso, y pusimos el ejemplo
nota >= 4
que resultaba verdadero si la variable nota contenía un valor mayor o igual a 4, o falso si dicho valor era menor.
El signo >= que compara los dos elementos, se llama operador relacional, y hay 6 operadores de este tipo definidos en Python:
>= mayor o igual
<= menor o igual
> mayor
< menor
!= distinto
= = igual
Nótese que el operador "igual" lleva dos signos de igualdad, para diferenciarlo de la asignación:
a = 27 // Es una asignación, guarda el valor 27 en a y
devuelve un valor verdadero si puede hacer la asignación (En la
práctica, devuelve siempre verdadero)
a = = 27 // Es una comparación, devuelve verdadero si a es 27 ó falso si tiene otro valor. No cambia el contenido de a.
Una comparación sólo puede analizar dos elementos a la vez, por lo que la comparación de tres
(a = = b = = c)
no es válida y es un error.
Para realizar esta comparación, se deben comparar de a dos: (a = = b) y
(b = = c). Esta comparación se realiza utilizando el operador lógico and
a = = b and b = = c
Esta operación da verdadero cuando se cumplen ambas comparaciones. Si al menos una de las comparaciones es falsa, la condición da falso.
De la misma manera, se utiliza el operador lógico or
a = = b or b = = c
Esta condición da verdadero si al menos una de las comparaciones es verdadera.
Veamos el siguiente ejemplo:
def bisiesto():
"""Determinar si un año es bisiesto o no. Un año es bisiesto si es múltiplo de 4 y no es múltiplo
de 100, a menos que sea múltiplo de 400."""
a = int(input("Ingrese un año:"))
if a%4 == 0:
if a%100!=0:
print("Es bisiesto")
else:
if a%400==0:
print("Es bisiesto")
else:
print("No es bisiesto")
else:
print("no es bisiesto")
bisiesto()
Este programa utiliza tres instrucciones if una dentro de la otra para ver si un año es bisiesto o no. Utilizando los operadores or y and es posible escribirlo mucho más fácilmente:
def bisiesto():
"""Determinar si un año es bisiesto o no. Un año es bisiesto si es múltiplo de 4 y no es múltiplo
de 100, a menos que sea múltiplo de 400."""
a = int(input("Ingrese un año:"))
if a%4 == 0 and a%100 != 0 or a%400 == 0:
print("Es bisiesto")
else:
print("no es bisiesto")
bisiesto()
No hay comentarios:
Publicar un comentario