this post was submitted on 09 Mar 2025
17 points (84.0% liked)

Python

6788 readers
42 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

๐Ÿ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

๐Ÿ Python project:
๐Ÿ’“ Python Community:
โœจ Python Ecosystem:
๐ŸŒŒ Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 4 points 1 day ago (1 children)

Part of the problem is operator precedence - it's ORing together the three numbers, then comparing that to "coin".

5 = 00101
10= 01010
25= 11001
    11111 = 31 

It's testing if coin equals 31.

[โ€“] [email protected] 2 points 1 day ago* (last edited 1 day ago)

Thank you for breaking it down.

I'm just now sure when it is appropriate to use '|'. If bitwise operators can only be used with integers (and not floats), what's an example where I can use it.