Conditional Statements in Python

In programming, we often want to check a conditional statement and then do something if the condition is met and do something else if the condition is not met. This is done using the If conditions.

There are two general forms of decision making structures found in most of the programming languages:

if statement

An if statement consists of a Boolean expression followed by one or more statements.

    if(BooleanExpression) :
        statement
    if(BooleanExpression) :
        statement1
        statement2
         ...

If the BoolenExpression is true, then the statements will be executed. Note that for the statement to be a part of the If condition, it must be indented by 4 spaces.

if...else statement

An if statement can be followed by an optional else statement, which executes when the Boolean expression is false.

    if(BooleanExpression) :
        statement or block 1
    else :
        statement or block 2

Examples

Let's look at a few examples of the conditional statements.

# Imaginary stock prices
stock_A = 100
stock_B = 120
#Check if Stock B's price is above 100.
if(stock_B>100) :
    print("We recommend Stock B")

Save the above code in a file labeled 'pycontrols.py'. Then execute the file from your command prompt / terminal using python pycontrols.py. When the above code is compiled and executed, it produces the following result:

We recommend Stock B

Let's take another example to evaluate an If...Else statement.

#Imaginary stock prices
stock_A = 100
stock_B = 120
#Check if Stock A's price is greater than Stock B's price.
if(stock_A>stock_B) :
    print("We recommend Stock A")
else :
    print("We recommend Stock B")

The above code will produce the following results:

We recommend Stock B

As you can see, the Boolean Express (stock_A>stock_B) is false. Therefore, the statements in the 'else' block are evaluated.

The if...elif...else Statement

We can use elif to further customize our conditional statement. With the elif we can extend the if statement as much as you want. In the entire control structure, as soon as a condition is met (TRUE) the corresponding block of statements will be executed, and the rest of the structure will be ignored.

if (BooleanExpression1) :
  expression1
elif (BooleanExpression2) :
  expression2
elif (BooleanExpression3) :
  expression3
else :
  expression4

If BooleanExpression1 is TRUE, then expression1 will be executed. If FALSE, then it will check for BooleanExpression2. If BooleanExpression2 is TRUE, then expression2 will be execued, otherwise, it will evaluate BooleanExpression3. If BooleanExpression3 is TRUE, expression3 will be executed, otherwise, expression 4 will be executed.

Let's look at an example:

#Imaginary stock prices
stock_A = 100
stock_B = 120
#Compare Stock A and Stock B
if (stock_A>stock_B) :
    print("We recommend Stock A")
elif (stock_A==stock_B) :
    print("We are neutral to both stocks")
else :
    print("We recommend Stock B")

The above code will produce the following results:

We recommend Stock B

In our if conditions, we can use logical operators to check for multiple conditions, as shown below:

#Imaginary stock prices
stock_A = 100
stock_B = 120
if (stock_A>=100 & stock_B>=100) :
  print("Sell both stocks")
else :
  print("No recommendation")

What do you think will print? Add this code to your script and execute to find out.