← Back to Lessons
Edit on Github

# Logical conditions in Python explained

## Introduction to conditionals in Python

There are 5 skills you need to master in your toolset for building algorithms with python:

1. Variables.
2. `Conditionals`.
3. Lists (or arrays).
4. Loops.
5. Functions.

The use of `conditionals` is the easies way we have to make decisions when coding our algorithms.

Let's say we are building a program to help us pick what to wear, but we hate the blue color, we could tell the computer to avoid that color using a statement like this:

``````if color == 'blue':
#do something
else:
#do something else or do nothing``````

🔗 Using `switch` is not available in python.

## What is a logical expression in Python?

Logical expressions let you conditionally skip a series of lines of your code. The best wat to understand them, is to think of them like questions you can ask to the computer about your variables, for example:

1. `if user_age > 21:`
2. `if day == "tuesday"`
3. `if car_model == "toyota" and number_of_tires == 6:`

In order to ask a question, or conditionally excuse a particular set of lines, you first need to have data (information) stored on useful variables, above we had the variables `user_age`, `day`, `car_model` and `number_of_tires`.

If we don't have the information pre-stored in variables we are not able to ask any question, it is all about strategy and planning!

For example, if we have the user's age stored in a variable `age` then, and only then, we are able to code for something like:

``````# We use two equal signs when we want to compare two variables for equality
if age == 21:
print("You are old enough!!")``````

## What type of conditions/questions can we use/ask?

The previous example was a simple condition, but in real life picking what to wear involves a combination of several conditions to make the final decision, for example: Let's look at this algorithm that tells you if you have the flu

If you want to represent this algorithm in Python it will look something like this:

``````feels_like_hit_by_train = True
you_were_hit_by_train = False

if feels_like_hit_by_train == True:
if you_were_hit_by_train == True:
print("You don't have a flu")
else:
print("You have a flu")
else:
print("You don't have a flu")``````

Basically, this algorithm has two variables to consider: `feels_like_hit_by_train` and `you_were_hit_by_train`. Our job as developers is to sit down and try to prepare a strategy and come up with an algorithm that solves a problem.

## Logical Operators in Python

Mostly all the questions can be asked using the following comparisons: `==`, `>`, `<`, `!=`, `python> is None`, `python> is not None`, `in`:

OperatorExampleDescription
`==``if a == b`if the value of variable A is identical to the value of B (same data-type and value)
`<``if a < b`if the value of variable A is less than the value of B
`>``if a > b`if the value of variable A is greater than the value of B
`!=``if a != b`if the value of variable A is different (not identical) from the value of B
`is not None``if a is not None`This is self-explanatory, isn't it?
`is None``if a is None`This is self-explanatory, isn't it?
`in``if name in ['bob','maria','nancy']`If the value of name is contained inside the list of names

### `AND` & `OR` Operators in python

Another way to write the algorithm is to combine to questions in the same condition using the `and` and `or`:

``````feels_like_hit_by_train = True
you_were_hit_by_train = False

if feels_like_hit_by_train and you_were_hit_by_train:
print("You don't have a flu")
elif feels_like_hit_by_train:
print("You have a flu")``````

As you can see here we are using `elif` together for the first time, for faster coding. Another trick you can use for faster coding:

OriginalEquivalent
instead of `if(feels_like_hit_by_train == true)`you write `if(feels_like_hit_by_train)`
instead of `if(you_were_hit_by_train == false)`you write `if(!you_were_hit_by_train)`

## If...else in Python

You can also use the `else` expression to refer to the negation of the first condition:

``````if color == "blue":
else:
# Put it in your closet

age = 12
if age < 18:
print("Old enough")
else:
print("Not old enough")``````

You can also nest several if...else conditions on top of one another, like this:

``````if age < 16:
# You cannot do anything
elif age < 18:
# At this point, we know it's older than 15 because if not it would have entered
# into the first condition
elif age < 21:
# If the algorithm enters here, we know its older than 17
else:
# If the algorithm enters here, we know its older than 20``````

Here is another example that runs an algorithm to find out if a number is in the "hundreds".

``````value = 14

if value < 10:
print("Single unit value")
elif value < 100:
print("dozens")
elif value < 1000:
print("hundreds")
elif value < 10000:
print("thousands")
else:
print("hundrends of thousands or maybe more")``````

## The `switch` statement in Python

Python does not have a `switch` statement.

## Conclusion

It's all about what question to ask: The previous example was a simple condition, but real life is not that simple. There are lots of nested conditions and complicated flows that will challenge your skills to the limit. For example:

This will be the algorithm to pick what to wear on Valentine's Day:

``````if going_out:
if can_I_get_burger:
if place_bottle_white:
if cool_mix:
# do something
else:
if blazers > 3:
# do something
else:
# do something
elif she_pants:
# do something
else:
# do something
else:
if naked_she_door:
# do something
elif blazers > 3:
# do something
else:
# do something``````

Subscribe for more!

CONTACT

MEDIA KIT

##### SOCIAL & LIVE LEARNING

The most efficient way to learn: Join a cohort with classmates like yourself, live streamings, coding jam sessions, live mentorships with real experts and keep the motivation.

##### INTRO TO CODING

From zero to getting paid as a developer, learn the skills of the present and future. Boost your professional career and get hired by a tech company.

##### DATA SCIENCE

Start a career in data science and analytics. A hands-on approach with interactive exercises, chat support, and access to mentorships.

##### 30DAYSOFGEEKCODING

Keep your motivation with this 30 day challenge. Join hundreds of other developers coding a little every day.

##### A.I. & MACHINE LEARNING

Start with Python and Data Science, Machine Learning, Deep Learning and maintaining a production environment in A.I.