Cadena booleana

Escribe tres funciones:

  1. boolean_and
  2. boolean_or
  3. boolean_xor

Estas funciones deben evaluar una lista de valores True y False, comenzando por el elemento situado más a la izquierda y evaluando por pares.

Ejemplos

boolean_and([True, True, False, True]) ➞ False
# [True, True, False, True] => [True, False, True] => [False, True] => False

boolean_or([True, True, False, False]) ➞ True
# [True, True, False, True] => [True, False, False] => [True, False] => True

boolean_xor([True, True, False, False]) ➞ False
# [True, True, False, False] => [False, False, False] => [False, False] => False

Notas

  • XOR es igual que OR, excepto que excluye [True, True].
  • Cada vez que evalúas los elementos en las posiciones 0 y 1, los reduces a un único resultado.