Python for Beginners, Part 18: Logical AND, OR, NOT by@cleverprogrammer

# Python for Beginners, Part 18: Logical AND, OR, NOT

### @cleverprogrammerClever Programmer

Clever Programmer is a community with over 100,000+ students who are learning to code by building real world projects.

Let's cover logical AND, OR & NOT..

In case you missed it, here are the previous parts of the series:

## Transcript

0:00 So guys what's up this is Qazi from clever

0:01 programmer calm in this video we are

0:04 going to talk about Boolean logical

0:07 operators so in the last video we

0:09 covered the basic jujitsu of Boolean

0:13 algebra kind of like what is the basic

0:17 most fundamental ideas behind Boolean

0:20 algebra and we saw that everything that

0:22 we talked about conversely their true or

0:24 false right so here we have all these

0:28 things converting to true or false

0:30 that's effectively what ends up

0:32 happening at the end so now let's go and

0:37 talk about the operators that I was

0:40 mentioning ok so before I start giving

0:43 you their rules and how they are defined

0:46 in the world of electricity or logic

0:49 gates or programming for that matter I

0:52 want to just give you guys an intuitive

0:54 sense of how it works because that's way

0:57 more important than memorizing these you

1:00 know truth tables for a lot of these

1:02 cases so ATLA so let me get try to give

1:06 you guys an intuition so let's start off

1:09 with and okay we're going to start off

1:13 with this logical operator as you can

1:16 see it's a special word in Python which

1:19 is why it highlights to orange if you

1:21 write and with 2ds it does not highlight

1:23 to orange and let's talk about what it

1:26 does so let's say I did um you know 5 &

1:31 5 it'll give me back a 5 and here it's

1:35 not really making sense

1:36 let's try true and true and let's see

1:42 what it returns it returned true now

1:43 let's try something like true and false

1:45 let's see what that returns that returns

1:48 false so now let me try to give you guys

1:50 an intuition of how it works for and

1:54 let's say there are there two things I

1:57 asked you do you like poison and do you

2:00 like pizza right umm if I asked you that

2:05 question and you could only answer with

2:07 yes or no what would you say

2:12 hopefully you would say false or no

2:15 right and then I would be and if I asked

2:20 you to elaborate then you might say I

2:21 might like pizza but I really don't like

2:24 poison right so the idea behind you not

2:29 liking poison but you liking pizza that

2:33 whole thing when you combine it with an

2:35 end that whole thing becomes false

2:37 because there's one of those things that

2:40 you don't like so you you can't say yes

2:44 to the whole expression that I gave you

2:47 right for and both of the things have to

2:51 be true for you to say yes to it like if

2:54 I asked you do like pizza and ice cream

2:55 you say yeah right but if I tell you

2:59 like jumping off of the cliff or do you

3:01 like jump or do you like doing your math

3:03 homework a lot and you like writing

3:05 essays in that case probably both of the

3:08 things you might not like doing your

3:10 math homework and writing essays and you

3:13 might say no I like doing neither of

3:15 them or for sure you would say false

3:18 right so I can say something like math

3:21 homework let's set it to false meaning

3:26 like you don't like it and let's say

3:29 long essays is equal to false and now

3:34 let's combine the two let's say math

3:36 homework and long essays you get back

3:41 false right math homework is really

3:46 false and long essays or false so false

3:48 and false gives you a false now let's

3:51 try pizza and let's say we like it for

3:54 my friend Danielle he loves pizza so if

3:56 you're watching this video that's who I

3:59 was thinking of when I came up with this

4:00 example let's do ice cream and let's set

4:03 that to true meaning we like both of

4:05 them and let's do pizza and ice cream

4:08 right and you get back true so even

4:13 whenever you combine something with an

4:16 end both of those things are now

4:17 combined so when you're answering you're

4:19 answering for both of them even in real

4:21 life both of those things have to be

4:23 true John

4:25 go throw out your garbage and then you

4:28 get to play right

4:30 so in that case both of those things

4:34 happen to be true if you throw out the

4:39 garbage you know then you kind of get to

4:41 play it's a little bit of a contrived

4:42 example there's more of an if-then

4:44 statement rather than an end okay how

4:50 Johnny throw out your garbage and do

4:52 your homework and then you get to play

4:54 okay in that case the only way Johnny

4:57 will get to play his game is if he has

5:00 thrown out the garbage and done his

5:02 homework much better now I can now I can

5:06 sleep better all right that's the

5:09 breakdown for end so now let me just

5:12 give you some problems and throw it at

5:14 your face okay false and false quickly

5:17 what do you think is going to be you

5:19 should have said false false and true

5:23 remember one of them is false both of

5:25 them end up being false because we can

5:29 imagine that this is poison and then

5:31 this is pizza and you can't say true to

5:34 both of them because there's one of them

5:36 that you don't like for it to be true

5:39 both of them have to be true what if I

5:42 gave you true and false what if I gave

5:45 you true and true what do you think that

5:47 would be okay hopefully you're trying to

5:49 get a little you're starting to get a

5:51 little bit of sense of this why this

5:53 will be important later on is once we

5:55 get to the conditionals of control flow

5:56 section which we should be getting to in

5:58 the next video and there we're going to

6:01 be talking about how you can combine an

6:03 if statement use an end to check two

6:06 conditions and then the block of code

6:08 runs so if Johnny homework and pizza or

6:15 and I don't know throw out garbage then

6:23 this code here runs okay obviously I'm

6:29 going to hit syntax errors right now

6:30 because I haven't defined Johnny

6:31 homework I haven't defined throw out

6:33 garbage and you can't write stuff

6:35 separated by spaces and I don't know who

6:37 rights capital variables only if it's

6:41 constants but we'll get to that later

6:42 all right so now let's go to the or side

6:48 of things what if we combine two things

6:49 with an or if I asked you do you like

6:53 pizza okay for sanity check assume you

6:58 like pizza even if you don't okay so

7:01 just to play along just imagine you like

7:03 pizza so if I ask you do you like pizza

7:12 that with the true or false what would

7:14 you say if you like pizza or doing math

7:18 homework if you could only enter the

7:20 true or false or yes or no you should

7:23 say yes or you should say true because

7:27 there's one of those things that you

7:29 like and I asked you or they're not

7:31 connected with each other right A or B

7:34 so let's now get and let me show you

7:38 guys this in code if I do false or true

7:40 check out what you get back you get back

7:42 a true statement right if I do true or

7:47 false I get back a true statement and if

7:51 I replace this with something that we

7:53 understand better let's say we don't

7:55 like poison poison is equal to false and

7:58 let's say we do like pizza and we

8:02 already have pizzas true but I'm just

8:04 going to do that it can and now let's

8:06 write this statement over here using

8:09 pizza and poison sorry

8:14 pizza or poison OH

8:19 I misspelled poison but in one of my

8:23 older videos I had it there so don't

8:25 worry about why it figured out what

8:27 poison was but um

8:29 yeah let's just let's just use this

8:32 poison variable that we wrote here so

8:34 you can see that we get back a statement

8:36 that's true because one of the things is

8:39 true and in this case that's pizza so

8:42 for an or statement to be true only one

8:44 of the things have to be true right if I

8:46 asked you do you like ice cream and

8:51 or pizza you would say true if you could

8:54 only answer that with one thing just

8:57 like if you know again we take Johnny or

9:02 our son Bob and we go Bob either if you

9:09 or you throw out the garbage then you

9:11 get to play so he just goes oh sweet I'm

9:14 just gonna throw out the garbage so this

9:16 way he doesn't have to worry about doing

9:18 homework he decides to only do one of

9:20 the tasks and then he can play the game

9:22 but what if he went and tried to be

9:25 extra nice and threw out the garbage and

9:27 then when it did his homework but he

9:30 still would you know us being his dad or

9:34 mom still allow him to play of course he

9:37 did both of the things great that's

9:38 extra bonus but for him to qualify as a

9:42 player or like go play his games

9:45 he really needs only one thing that's

9:47 what the order does in our real life and

9:49 so that's what it does in programming as

9:53 well so now let's just let me just throw

9:56 some examples at your face and you try

9:58 to figure it out

9:59 true or false what do you think I'm

10:01 going to get quickly I'm going to get

10:03 back a true only one out one of them has

10:05 to be true what if I did true or true

10:06 what am I going to get back true

10:09 obviously what if I do true or or sorry

10:13 let's do false or false - false

10:16 statements you like poison or homework

10:21 you're gonna say no you know none of

10:27 them there you go so that's a little bit

10:31 of a breakdown of or and if I wanted to

10:34 break down not for you not is very

10:36 simple not is just something that

10:40 doesn't happen okay so it's it's just

10:43 the negation of something so if I said

10:45 not true what do you think I'd get back

10:46 I get back false if I did not false what

10:50 would I get back true it's just a

10:53 negation so if I do something like not

10:55 true or false what do you think I'm

10:59 going to get back what is this

11:01 expression going to evaluate to true

11:04 or Falls remember for something to be

11:07 true in the or but combined with the

11:09 oral boolean logical operator only one

11:12 of the statements has to be true so here

11:14 we do have a true so true or false

11:16 evaluates to a true and then right this

11:20 pretty much becomes true and then

11:22 calling not untrue gives us false so now

11:26 let's just run it okay and as you can

11:29 see we get back false so what I'm going

11:32 to do for you guys on clever programmer

11:34 comm is if you guys go to submit your

11:37 exercises here what I'm going to do is

11:40 I'll have or sorry if you go to do the

11:42 watch the video course on my website I

11:44 will have exercises here for you where

11:47 you can kind of drill and kill how true

11:49 and false and the stuff Boolean

11:51 operators work that's going to be very

11:53 very useful for you guys so then when

11:57 you're writing your if-then statements

11:59 you'll understand what you're doing okay

12:02 but this is kind of you know we just

12:04 need a basic understanding of it some

12:07 places go really crazy in depth into it

12:10 like creating things like not true or

12:12 false or true you know just just

12:18 combining it and making it into it like

12:23 these can be good exercises for you to

12:25 figure out but realistically when you're

12:27 writing code you're not going to be

12:28 doing stuff like this so if you can

12:33 um you know like you're not writing code

12:36 like this most of the time so I wouldn't

12:38 want to worry about it too much but if

12:40 you want to go ahead and give yourself

12:41 some crazy exercises like this to do or

12:44 come to my website where I'll have some

12:46 exercises for you guys to do that would

12:47 be great and before I conclude this

12:51 video let's go back to here I have put

12:55 together a truth table for you guys or

12:59 rather it's on Wikimedia @ org so I

13:04 didn't put this together but I have an

13:06 image I'll link you guys the image and

13:07 you can see how the truth tables work so

13:12 in the a column we have some statement

13:15 imagine it being P

13:17 it's a-- right we have that statement

13:20 and be say some other statement so we

13:23 don't really know what these statements

13:25 are for now but you can imagine them to

13:27 be whatever you want so let's say we

13:29 have some statement and some statement B

13:31 if a is false and B is false then a and

13:35 B you get back false right remember and

13:40 so if you have again a being poison and

13:45 B being homework poison and homework you

13:50 get back false you like neither of them

13:52 and if we have a or B since both of them

13:55 are false it's still false and not a is

13:58 just the opposite of that you get back

14:02 true and same thing over here we have

14:06 false and true false and true gives you

14:10 back a false false and true you only

14:14 need one thing to be true in or

14:15 statements you get back a true and then

14:17 not a which is saying you know opposite

14:21 of a since a was false you get back a

14:24 true ok so one thing I need you want you

14:28 to notice about and operator and or

14:32 operators if you look down the column of

14:34 the end operator you'll only see one

14:36 true case and the reason and the only

14:40 reason why it's true is because both of

14:43 the statements are true okay that's the

14:46 key thing to remember both of the things

14:49 are true and if you go and look in the

14:50 or column you'll see the or being false

14:55 only in one case and the only case is

14:57 false is when both of the things are

14:58 false okay so notice the key distinction

15:01 between the two okay

15:04 that's kind of all you have to know for

15:06 a Boolean stuff and I'm not going to go

15:08 into the next video with the really long

15:10 nested Boolean statements it's kind of

15:12 useless we don't really think that way

15:14 anyways and we're gonna get into

15:18 conditionals and control flow so I will

15:20 see you guys there