19
submitted 1 month ago* (last edited 1 month ago) by milon@lemm.ee to c/python@programming.dev

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
[-] milon@lemm.ee 2 points 1 month ago

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

[-] sugar_in_your_tea@sh.itjust.works 1 points 4 weeks ago* (last edited 4 weeks 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.

this post was submitted on 09 Mar 2025
19 points (88.0% liked)

Python

7010 readers
1 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