Cai Gengyang writes: > I am trying to understand the boolean operator "and" in Python. It is > supposed to return "True" when the expression on both sides of "and" > are true > > For instance, > > 1 < 3 and 10 < 20 is True --- (because both statements are true)
Yes. > 1 < 5 and 5 > 12 is False --- (because both statements are false) No :) > bool_one = False and False --- This should give False because none of the > statements are False > bool_two = True and False --- This should give False because only 1 statement > is True > bool_three = False and True --- This should give False because only 1 > statement is True Yes. > bool_five = True and True --- This should give True because only 1 statement > is True No :) > Am I correct ? Somewhat. In a technical programming-language sense, these are "expressions", not "statements". Technically, if the first expression evaluates to a value that counts as true in Python, the compound expression "E and F" evaluates to the value of the second expression. Apart from False, "empty" values like 0, "", [] count as false in Python, and all the others count as true. But it's true that "E and F" only evaluates to a true value when both E and F evaluate to a true value. Your subject line is good: Python's "and" is indeed a conditional, control-flow operator. -- https://mail.python.org/mailman/listinfo/python-list