5.4. Funciones booleanas
Las funciones pueden devolver valores booleanos, lo que a menudo es conveniente para ocultar complicadas comprobaciones dentro de funciones. Por ejemplo:
1: def esDivisible(x, y):
2: if x % y == 0:
3: return 1 # it's true
4: else:
5: return 0 # it's false
La funcion lleva por nombre esDivisible. Es habitual dar a las funciones booleanas nombres que suenan como preguntas s³/no. Devuelve 1 o 0 para indicar si la x es o no divisibelo por y.
Podemos reducir el tama~no de la funcion aprovechandonos del hecho de que la sentencia condicional que hay despues del if es en s³ misma una expresión booleana. Podemos devolverla directamente, evitando a la vez la sentencia if:
1: def esDivisible(x, y):
2: return x % y == 0
La siguiente sesion muestra a la nueva funcion en acción:
1: >>> esDivisible(6, 4)
2: 0
3: >>> esDivisible(6, 3)
4: 1
El uso mas comun para las funciones booleanas es dentro de sentencias condicionales:
1: if esDivisible(x, y):
2: print "x es divisible entre y"
3: else:
4: print "x no es divisible entre y"
Puede parecer tentador escribir algo como:
1: if esDivisible(x, y) == 1:
Pero la comparacion extra es innecesaria.
Como actividad, escriba una funcion estaEntre(x, y, z) que devuelva 1 en caso de que y <= x <= z y que devuelva 0 en cualquier otro caso.
Comentarios
Publicar un comentario