In question 5, one might choose to implement the boom-test as follows:
if con1 and con2:
elif con1 or con2:
Now, one would normally have to implement XOR to check for the second condition (because or includes the case when both con1 and con2 are true, which is not the intent).
But, because the program only checks for OR after it has ruled out the case where both con1 and con2 are true, practically speaking the code works.
So my question is whether I'm allowed to write the code in such a manner, or should I instead implement an explicit XOR?