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
    5
    ·
    1 day ago

    Thank you for the reply. It seems bitwise operators are somewhat of an advanced concept that I may revisit down the road.

    • iltg
      link
      fedilink
      arrow-up
      8
      ·
      1 day ago

      honestly yes you’re probably not going to use them a lot, if at all, especially in python

      • sugar_in_your_tea
        link
        fedilink
        arrow-up
        3
        ·
        20 hours ago

        You might use them with sets:

        a = {1, 2, 3}
        b = {2, 3, 4}
        
        a | b  # {1, 2, 3, 4}
        a & b  # {2, 3}
        a ^ b  # {1, 4}
        a - b  # {1}
        b - a  # {4}
        
    • ExtremeDullard@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      They’re quite simple. Just convert the values to binary and apply the applicable truth tables. Just remember operator precedence when you use them, and in doubt, don’t trust your luck and apply parentheses generously 🙂

      • sugar_in_your_tea
        link
        fedilink
        arrow-up
        1
        ·
        20 hours ago

        And write generous unit tests so the next person doesn’t accidentally mess it up.