12. Operadores and
, or
, not
¶
Estos operadores sirven para hacer condiciones más complejas
en una sentencia if
.
Ejemplo para calcular si un año es bisiesto:
anio = int( input('Escribe un año:') )
if (anio % 4 == 0) and ( (anio % 100 != 0) or (anio % 400 == 0) ):
print(anio, 'es bisiesto')
else:
print(anio, 'no es bisiesto')
Aunque los paréntesis no siempre son obligatorios, es recomendable usarlos para que se pueda entender mejor el código.
Ejercicios¶
Escribe un programa que pida el nombre del mes en el que estamos y compruebe si estamos o no en primavera.
Para simplificar diremos que abril, mayo y junio son los meses de primavera.
Pista:
if (mes == 'abril') or (mes == 'mayo') or (mes == 'junio'): print('...') else:
Escribe un programa que utilice el operador
not
para comprobar si un número introducido por el teclado es impar.Escribe un programa que utilice el operador
and
para comprobar si un nombre tiene una longitud entre 4 y 6 letras.La longitud de una cadena de texto se mide con la función len().
Pista:
>>> len('Sara') 4 >>> len('Santiago') 8
Escribe un programa que responda que tienes que conectar el riego por goteo siempre que sea de noche y que no esté lloviendo.
Pista:
sensor_lluvia = True sensor_de_dia = True if ... : print('Conecta el riego por goteo.') else: print('Desconecta el riego por goteo.')
Prueba el programa con las cuatro combinaciones posibles en los sensores. ¿Qué combinaciones hacen que se conecte el riego?
Escribe un programa que imprima un mensaje cuando un número sea positivo, sea par y no sea divisible por 3. En caso contrario no imprime ningún mensaje.
Pista:
num = int( input('Escribe un número:') ) if ... : print(num, 'es positivo, es par y no es divisible por 3.')