Validating the value of several variables
<p><strong>What I am after:</strong> The user is allowed to input only 0 or 1 (for a total of 4 variables). If the user inputs for example 2, 1, 1, 0 it should throw an error saying <code>Only 0 and 1 allowed</code>.</p>

<p><strong>What I've tried so far:</strong></p>

<pre><code>if (firstBinary != 0 or firstBinary != 1 and secondBinary != 0
      or secondBinary != 1 and thirdBinary != 0 or thirdBinary != 1
      and forthBinary != 0 or forthBinary != 1):
    print('Only 0 and 1 allowed')
else:
    print('binary to base 10: result)
</code></pre>

<p><strong>Problem:</strong> When I use such a statement, I get either the result even when I input for example 5, or I get 'only 0 and 1 allowed' even though I wrote all 1 or 0.</p>

<hr>

<p>I found this which seemed to be what I was after, but it is still not working like I want it to:</p>

<pre><code>if 0 in {firstBinary, secondBinary, thirdBinary, forthBinary} or 1 in \
    {firstBinary, secondBinary, thirdBinary, forthBinary}:
    print("Your result for binary to Base 10: ", allBinaries)
else:
    print('Only 0 and 1 allowed')
</code></pre>

<p>This code basically gives me the same result as what I get with the first code sample.</p>

<p>Use <code>any</code>:</p>

<pre><code>v1, v2, v3, v4 = 0, 1, 1, 2

if any(x not in [0, 1] for x in [v1, v2, v3, v4]):
    print "bad"
</code></pre>

<p>of course, if you use a list it will look even better</p>

<pre><code>inputs = [1, 1, 0 , 2]

if any(x not in [0, 1] for x in inputs):
    print "bad"
</code></pre>

python