a problem to solve

John Salerno johnjsal at NOSPAMgmail.com
Sat Mar 25 08:00:47 CET 2006

```mensanator at aol.com wrote:
> John Salerno wrote:
>> John Salerno wrote:
>>> mensanator at aol.com wrote:
>>>
>>>> No. First of all, combining them with the & operator would be
>>>> the asnswer to having all four lamps lit in the same position.
>>>> But you want exactly 3 (in any combination). The correct way
>>>> to combine the switches (using my answer of a[7] b[2] c[5] d[3])
>>>> is to use the boolean expression I gave you initially:
>>> Ah, that makes sense. I think I have a handle on it now. Of course, you
>>> did the grunt work of making the hex list, which might not have been so
>>> fun, but now I can work on using it to get the solution. Once I do, I'd
>>> love to compare my answer to yours, because something tells me yours
>>> will be much more elegant. :)
>> p.s. is there an xor operator in python?
>
> Yep. The XOR operator is ^. That's why you have to use **
> for exponentiation. In addition to &=AND, there is also
> |=OR. I actually gave two boolean expressions.
>
> First, using the standard notation, where concatenation implies
> AND, + is OR and x is XOR (actually, the standard notation
> for XOR is a + inside a circle, but my keyboard doesn't have
> one of those).
>
> Y = CD(A x B) + AB(C x D)
>
> Second, using the Python operators
>
> Y = ((C & D) & (A ^ B)) | ((A & B) & (C ^ D))
>

Thanks! Back to work for me! :)

```