If-Else statements – AKA conditional logic – are the bedrock of programming. And Python has these in spades.
Python offers several options for evaluating variables, their states, and whether specific conditions are met:
- Vanilla if-else statements
- if statements without the else part
- nested if-else statements
- else-if or
- and looped if-else statements in the form of for-else and while-else
We'll talk about all of these, and also explain the extremely useful double-equals
How do you write an if-else statement in Python?
If you're just looking for an example to copy-paste, here is a super simple if-else statement in Python:
if x < y: print("x is less than y") else: print("x is equal to or greater than y")
Note that the fact that Python is a whitespace-sensitive ensures that these if-else statements are easy to read – even when they get nested several layers deep.
With that out of the way, let's talk a bit more about conditional logic, and why if-else statements are so important to Python and other programming languages.
How do we use the if-else statement?
If-else statements are a form of conditional logic. Essentially, what that means is
- We test a condition. For example, whether a given variable equals another given variable.
- If the condition is true, we execute the following block of code.
- And if the condition is false, we execute a different block of code.
This is absolutely critical to any sort of programming. You cannot have turing-complete programming languages without some sort of conditional logic. In Python, that means lots of if-else statements.
How is if statement different from if else statement in Python?
So you don't technically need the
else part of the if-else statement. For example:
age = int(input("Enter your age: ")) if age >= 18: print("You are eligible to vote!")
To see how this works, here is the Python REPL:
>>> age = int(input("Enter your age: ")) Enter your age: 20 >>> if age >= 18: print("You are eligible to vote!") You are eligible to vote! >>> age = int(input("Enter your age: ")) Enter your age: 17 >>> if age >= 18: print("You are eligible to vote!") [nothing happens]
As you can see, this is sort of like an if-else statement with an invisible
else. If the
else part was there, and the condition was not met, it would just be like "OK. Carry on then."
What is the difference between Else and Elif construct of IF statement?
If you want to have more potential conditions, you can use an
Here is an example
if x > y: print("x is greater than y") elif x < y: print("x is less than y") else: print("x is equal to y")
You'll note that the
elif operator appears between the initial
Also note that you can use as many
elif as you want.
if condition1: statement1 elif condition2: statement2 elif condition3: statement3 elif condition4: statement4 elif condition5: statement5 else statement6
What is for else and while else in Python?
You can combine conditional logic with loops by using a
for else or
while else statement.
Here is an example
for else statement that hits the
break and exits:
for i in range(10): print(i) if i == 5: break else: print("This code will only execute if the for loop completes without hitting a break statement.") # this will output: 0 1 2 3 4 5
And here is the same
for if statement that starts from a higher number, which will skip the
break event and finish. Take a look at the code and its output:
for i in range(6,10): print(i) if i == 5: break else: print("This code will only execute if the for loop completes without hitting a break statement.") # this will output: 6 7 8 9 This code will only execute if the for loop completes without hitting a break statement.
Can you have multiple if statements in Python?
Absolutely. You can have as many nested if statements as you want. Be careful, though. This can lead to the so-called "pyramid of doom."
Here's an example of nested if statements:
if x == 5: if y == 10: print("x is 5 and y is 10") else: print("x is 5 and y is something else") else: print("x is something else")
Notice how there are two if-else statements, but one of them is nested inside the other. This is OK for a lay or two, but it can get confusing quickly:
if x == 1: if y == 2: if z == 3: print("x, y, and z are all equal to 1, 2, and 3, respectively") else: print("x and y are equal to 1 and 2, respectively, but z is not equal to 3") else: print("x is equal to 1 but y is not equal to 2") else: print("x is not equal to 1")
Can you have 3 conditions in an if statement?
Yes. But if you do this, it probably makes sense to use some
elif operators in your statement for clarity.
Here is an example if statement with 3 conditions:
if (condition1): # execute code1 elif (condition2): # execute code2 elif (condition3): # execute code3
== mean in Python?
== operator – also known as the equality operator – is a comparison operator that returns True if both of the operands (the variables or values on the left and the right of the
==) are equal. Otherwise it will return False.
This is an extremely common tool for crafting if statements and other conditional logic.
Learn it. Know it. Love it.
I hope you learned a lot about if statements.
I sure did in dusting off my Python knowledge and writing this tutorial. I hope you've found this helpful.
If you want to learn more about Python programming, and technology in general, try freeCodeCamp's core coding curriculum. It's free.