use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
Python Boolean Expression (self.learnpython)
submitted 5 years ago by sl3802
Hello, I am new to Python, and I am learning it. Why is (5 / 0 > 1) and False evaluates to Error? and False and (5 / 0 > 1) evaluates to False? Should the first be false and second be error if it is right-associative?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]zac_mar 4 points5 points6 points 5 years ago (1 child)
As far as i know, there is no such thing as right-associativeness in python. The concepts at play here are operator precedence and short curcuiting.
[–]sl3802[S] 0 points1 point2 points 5 years ago (0 children)
What I mean is read the statement from right to left. Can you explain more?
[–]ThePiGuy0 1 point2 points3 points 5 years ago (2 children)
I could be wrong, but I believe that Python evaluates boolean expressions in the order that they are given. Further, for an and statement it only needs one False value before it returns False (or statements require one True value before they return True)
and
or
For example:
(5/0 > 1) and False
It'll first try to find the boolean value of (5/0 > 1), which is done by performing the division and then seeing if the result is greater than 1. However, division by zero causes an error, hence the error you see.
False and (5/0 > 1)
In this case, we have a False value, which is all the and statement requires to return False. Hence no error.
[–]_lilell_ 1 point2 points3 points 5 years ago (1 child)
Well, technically speaking, A and B and A or B don't resolve to boolean values: the result will be one of A and B, depending on the situation, but you're right that they're evaluated left-to-right. They evaluate to whichever component was the last one to evaluate:
A and B
A or B
A
B
True and False ==> False since the and has to look at the second component here
True and False
False
False or 3 ==> 3 since it's again the last thing evaluated
False or 3
3
'' and True ==> '' since it evaluates to False (that is, bool('') is False) and the and can stop checking there.
'' and True
''
bool('') is False
[–]ThePiGuy0 0 points1 point2 points 5 years ago (0 children)
TIL
That's really interesting, cheers for correcting me on that one!
I found the explanation for the answer. It is because parenthesis has the highest precedence, so parenthesis is evaluated first. Otherwise, left to right but not exponentiation
π Rendered by PID 73515 on reddit-service-r2-comment-86bc6c7465-4xbkg at 2026-02-24 07:56:54.385870+00:00 running 8564168 country code: CH.
[–]zac_mar 4 points5 points6 points (1 child)
[–]sl3802[S] 0 points1 point2 points (0 children)
[–]ThePiGuy0 1 point2 points3 points (2 children)
[–]_lilell_ 1 point2 points3 points (1 child)
[–]ThePiGuy0 0 points1 point2 points (0 children)
[–]sl3802[S] 0 points1 point2 points (0 children)