Boolean Expressions
sohcahtoa82 at gmail.com
sohcahtoa82 at gmail.com
Tue Sep 26 18:10:59 EDT 2017
On Tuesday, September 26, 2017 at 2:54:32 PM UTC-7, Chris Angelico wrote:
> On Wed, Sep 27, 2017 at 7:43 AM, Cai Gengyang <gengyangcai at gmail.com> wrote:
> > Help check if my logic is correct in all 5 expressions
> >
> >
> > A) Set bool_one equal to the result of
> > False and False
> >
> > Entire Expression : False and False gives True because both are False
>
> This is not correct, and comes from a confusion in the English
> language. In boolean logic, "and" means "both". For instance:
>
> *IF* we have eggs, *AND* we have bacon, *THEN* bake a pie.
>
> Can you bake an egg-and-bacon pie? You need *both* ingredients. The
> assertion "we have eggs" is True if we do and False if we do not; and
> the overall condition cannot be True unless *both* assertions are
> True.
>
> In Python, the second half won't even be looked at if the first half
> is false. That is to say, Python looks beside the stove to see if
> there's a carton of eggs, and if it can't see one, it won't bother
> looking in the freezer for bacon - it already knows we can't bake that
> pie.
>
> Your other questions are derived from this one, so you should be fine
> once you grok this one concept.
>
> ChrisA
A way to prove this:
def funcA():
print('In function A')
return False
def funcB():
print('In function B')
return False
print(funcA() and funcB())
This will print 'In function A' followed by 'False'. It will not print 'In function B' at all.
More information about the Python-list
mailing list