if coin == 25 | 10 | 5:

If I replace the ‘|’ with ‘or’ the code runs just fine. I’m not sure why I can’t use ‘|’ in the same statement.

Doing the following doesn’t work either:

if coin == 25 | coin == 10 | coin == 5:

I know bitwise operators can only be used with integers, but other then that is there another difference from logical operators?

  • milon@lemm.eeOP
    link
    fedilink
    arrow-up
    2
    ·
    17 days ago

    Thank you. Not sure why in the link the arithmetic in green results in 7.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      5 days ago

      Not sure why in the link the arithmetic in green results in 7.

      Here’s the example from the link:

        1 0 0
      | 0 1 1
      --------
        1 1 1
      

      111 is the binary representation of 7. This also has the equivalent result:

        1 0 0
      | 1 1 1
      --------
        1 1 1
      

      All it’s doing is going through each column of the binary number, and if at least one of them is a 1, the result is a 1. If they’re both a 0, the result is a zero. Then you just convert from binary to decimal, so 111 -> 7.