|| is the logical OR in most languages I know of, but I’m pretty sure python only has the or keyword, no shorthand.
Bitwise OR applies the logic to the individual bits in the underlying data. Think about how you would add two large numbers by hand. Write one number above the other and add at each position. Bitwise or is like that, except you OR the two bits in each position instead of adding them.
In your example (you can do an OR with n inputs, the result is 1 if any input is 1):
11001 25 01010 10 00101 5 ----- OR 11111 31
So your code is actually being interpreted as ifcoin==31:
||
is the logical OR in most languages I know of, but I’m pretty sure python only has theor
keyword, no shorthand.Bitwise OR applies the logic to the individual bits in the underlying data. Think about how you would add two large numbers by hand. Write one number above the other and add at each position. Bitwise or is like that, except you OR the two bits in each position instead of adding them.
In your example (you can do an OR with n inputs, the result is 1 if any input is 1):
11001
2501010
1000101
5----- OR
11111
31So your code is actually being interpreted as
if coin == 31: