""

domingo, 19 de abril de 2026

Thinkcspy. 7.8 Funciones boleanas

 Fuente: Thinkcspy. Traducción: Google

7.8. Funciones booleanas

Ya hemos visto que los valores booleanos resultan de la evaluación de expresiones booleanas. Desde el resultado de cualquiera La evaluación de la expresión se puede devolver mediante una función (usando el return declaración), Las funciones pueden devolver valores booleanos. Esta resulta ser una forma muy conveniente de ocultar los detalles de pruebas complicadas. Por ejemplo:


>>def isDivisible(x, y):      # se define la isDivisible, con parámetros x,y

>>    if x % y == 0:            # se evalúa la condición del if con el operador modulo %

>>        result = True        # si se cumple la condición a la variable result se le asigna True

>>    else:                        # si la condición no se cumple a result se le asigna False

>>        result = False


>>    return result            # la función devuelve el valor de result


>>print(isDivisible(10, 5))  # se invoca la funcion para x,y = 10, 5

>>>

True

El nombre de esta función es isDivisible. Es común dar booleano funciones nombres que suenan como preguntas de sí/no. isDivisible devuelve o True o False para indicar si el x es o no es divisible por y.

Podemos hacer la función más concisa aprovechando el hecho de que condición de la if La declaración es en sí misma una expresión booleana. Podemos regresar directamente, evitando el if declaración completa:

>>def isDivisible(x, y):
>>    return x % y == 0


Las funciones booleanas se utilizan a menudo en declaraciones condicionales:

>>if isDivisible(x, y):
    ... # do something ...
>>else:
    ... # do something else ...


Podría resultar tentador escribir algo como pero la comparación adicional es redundante. Sólo necesitas un expresión si estás comparando algún otro tipo que no sea booleano. ( También se puede hacer más conciso como ). El siguiente ejemplo muestra el función en el trabajo. Observe cómo descriptivo el código es cuando movemos los detalles de la prueba a una función booleana. Pruébalo con algunos otros parámetros reales para ver qué está impreso.if isDivisible(x, y) == True:==isDivisible(x, y) == Falsenot isDivisible(x, y)isDivisible


>>def isDivisible(x, y):                                 # Se redefine la función para los parámetros x,y

>>    return x % y == 0                                # se elimina el if y else y se retorna la evaluación del modulo


>>if isDivisible(10, 5):                           

>>    print("That works")

>>else:

>>    print("Those values are no good")

>>>

That works


Comprueba tu comprensión

¿Qué es una función booleana?

✔️ Una función booleana es como cualquier otra función, pero siempre devuelve Verdadero o Falso.


¿Es legal la siguiente declaración en una función de Python (suponiendo que x, y y z se definen como números)?

return x + y < z

Elige uno

✔️ Es perfectamente válido devolver el resultado de evaluar una expresión booleana.


7.8.1. Más pruebas unitarias

Cuando escribimos pruebas unitarias, también debemos considerar clases de equivalencia de salida que dan como resultado resultados significativamente diferentes.

El isDivisible La función puede devolver cualquiera de los dos True o False. Estos dos resultados diferentes nos dan dos clases de equivalencia. Luego elegimos entradas que deberían dar cada uno de los diferentes resultados. Es importante tener al menos una prueba para cada clase de equivalencia de salida.

>>def isDivisible(x, y):

>>    '''is x evenly divisible by y?'''

>>    return x % y == 0


>>if __name__ == "__main__":

>>    import test

>>>
Línea 6: 'prueba' importada pero no utilizada
    prueba de importación

Ampliar el programa…

A partir de la línea 7, escriba dos pruebas unitarias (que deberían pasar), una para cada clase de equivalencia de salida.


Antes de seguir leyendo...

Hacer grandes cosas lleva tiempo y dinero. Si aprecia el libro que está leyendo ahora y desea mantener materiales de calidad gratuitos para otros estudiantes, considere hacer una donación a Runestone Academy. Le pedimos que considere una donación de $10, pero si puede dar más, eso es genial, si $10 es demasiado para su presupuesto, estaremos contentos con lo que pueda pagar como muestra de apoyo.

https://runestone.academy/runestone/default/donate?ad=2

NOTA: "PPI, Python para ingenieros", es un blog de contenido gratuito que busca ayudar a democratizar el conocimiento relacionado con el lenguaje Python sin animo de lucro, pero se entiende que fundaciones o entidades que publican contenido libre en internet requieren de fondos para poder operar. por esta razón compartimos el link de donación de runestone, como parte de la entrada publicada y sin tener ninguna relacion con dicho recaudo.

No hay comentarios.:

Publicar un comentario

Entradas recientes

Respuesta a los ejercicios 1, 2, 3 de ThinkCspy 7.10

 1). ¿A qué se evalúan estas expresiones? 3 == 3 3 != 3 3 >= 4 not (3 < 4) Solución: >>print(3==3) >>print(3!=3) >>p...

Entradas Populares