Conditionals#
By default, statements in Python script are executed sequentially from top to bottom. If the processing logic require so, the sequential flow of execution can be altered in two way:
Conditional execution: a block of one or more statements will be executed if a certain expression is true
Repetitive execution: a block of one or more statements will be repetitively executed as long as a certain expression is true.
In this section, we will cover the conditional execution: if
, else
, elif
statements. The comparison and logical operators we learned in previous sections will be useful here.
The repetitive execution (while
loop) will be discussed in the next section.
If Condition#
In python and other programming languages the key word if is used to check if a condition is true and to execute the block code. Remember the indentation after the colon.
# syntax
if condition:
this part of code runs for truthy conditions
a = 3
if a > 0:
print("A is a positive number")
A is a positive number
As you can see in the example above, 3 is greater than 0. The condition was true and the block code was executed. However, if the condition is false, we do not see the result. In order to see the result of the falsy condition, we should have another block, which is going to be else.
If Else#
If condition is true the first block will be executed, if not the else condition will run.
# syntax
if condition:
this part of code runs for truthy conditions
else:
this part of code runs for false conditions
a = 3
if a < 0:
print("A is a negative number")
else:
print("A is a positive number")
A is a positive number
The condition above proves false, therefore the else block was executed. How about if our condition is more than two? We could use elif
.
If Elif Else#
In our daily life, we make decisions on daily basis. We make decisions not by checking one or two conditions but multiple conditions. As similar to life, programming is also full of conditions. We use elif when we have multiple conditions.
# syntax
if condition:
code
elif condition:
code
else:
code
a = 0
if a > 0:
print("A is a positive number")
elif a < 0:
print("A is a negative number")
else:
print("A is zero")
A is zero
Short Hand#
# syntax
code if condition else code
a = 3
(
print("A is positive") if a > 0 else print("A is negative")
) # first condition met, 'A is positive' will be printed
A is positive
Nested Conditions#
Conditions can be nested
# syntax
if condition:
code
if condition:
code
a = 0
if a > 0:
if a % 2 == 0:
print("A is a positive and even integer")
else:
print("A is a positive number")
elif a == 0:
print("A is zero")
else:
print("A is a negative number")
A is zero
We can avoid writing nested condition by using logical operator and
.
If Condition and Logical Operators#
# syntax
if condition and condition:
code
a = 0
if a > 0 and a % 2 == 0:
print("A is an even and positive integer")
elif a > 0 and a % 2 != 0:
print("A is a positive integer")
elif a == 0:
print("A is zero")
else:
print("A is negative")
A is zero
If and Or Logical Operators#
# syntax
if condition or condition:
code
user = "James"
access_level = 3
if user == "admin" or access_level >= 4:
print("Access granted!")
else:
print("Access denied!")
Access denied!
You are doing great! Never give up because great things take time. Now do some exercises for your brain đ§
Excercises#
Exercises: Level 1#
Get user input using input(âEnter your age: â). If user is 18 or older, give feedback: You are old enough to drive. If below 18 give feedback to wait for the missing amount of years. Output:
Enter your age: 30 You are old enough to learn to drive. Output: Enter your age: 15 You need 3 more years to learn to drive.
Compare the values of my_age and your_age using if ⌠else. Who is older (me or you)? Use input(âEnter your age: â) to get the age as input. You can use a nested condition to print âyearâ for 1 year difference in age, âyearsâ for bigger differences, and a custom text if my_age = your_age. Output:
Enter your age: 30 You are 5 years older than me.
Get two numbers from the user using input prompt. If a is greater than b return a is greater than b, if a is less b return a is smaller than b, else a is equal to b. Output:
Enter number one: 4 Enter number two: 3 4 is greater than 3
Exercises: Level 2#
Write a code which gives grade to students according to theirs scores:
90-100, A 70-89, B 60-69, C 50-59, D 0-49, F
Check if the season is Autumn, Winter, Spring or Summer. If the user input is: September, October or November, the season is Autumn. December, January or February, the season is Winter. March, April or May, the season is Spring June, July or August, the season is Summer
The following list contains some fruits:
fruits = ['banana', 'orange', 'mango', 'lemon']
If a fruit doesnât exist in the list add the fruit to the list and print the modified list. If the fruit exists print(âThat fruit already exist in the listâ)
Exercises: Level 3#
Here we have a person dictionary. Feel free to modify it!
person={ 'first_name': 'Aurora', 'last_name': 'Luna', 'age': 6, 'country': 'Indonesia', 'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'], 'address': { 'street': 'Jl. Jalan', 'zipcode': '123456' } }
Check if the person dictionary has skills key, if so print out the middle skill in the skills list.
Check if the person dictionary has skills key, if so check if the person has âPythonâ skill and print out the result.
If a person skills has only JavaScript and React, print(âHe is a front end developerâ), if the person skills has Node, Python, MongoDB, print(âHe is a backend developerâ), if the person skills has React, Node and MongoDB, Print(âHe is a fullstack developerâ), else print(âunknown titleâ) - for more accurate results more conditions can be nested!
If the person lives in Indonesia, print the information in the following format:
Aurora Luna lives in Indonesia.