freeCodeCamp/guide/english/python/if-elif-else-statements/index.md

3.3 KiB

title
If / Elif / Else Statements

If / Elif / Else Statements

The if/elif/else structure is a common way to control the flow of a program, allowing you to execute specific blocks of code depending on the value of some data. If the condition following the keyword if evaluates as True, the block of code will execute: Note that parenthesis is not used before and after the condition check as in other languages.

if True:
  print('If block will execute!')
x = 5

if x > 4:
  print("The condition was true!") #this statement executes

Tips : You can use 1 as alternative to True and 0 as an alternative to False

Example:

if 1:   # 1 evaluates to true
  print('If block will execute!')

You can optionally add an else response that will execute if the condition is False:

if not True:
  print('If statement will execute!')
else:
  print('Else statement will execute!')

Or you can also see this example

y = 3

if y > 4:
  print("I won't print!") #this statement does not execute
else:
  print("The condition wasn't true!") #this statement executes

Note that there is no condition following the else keyword - it catches all situations where the condition was False

Multiple conditions can be checked by including one or more elif checks after your initial if statement but only one condition will execute:

z = 7

if z > 8:
  print("I won't print!") #this statement does not execute
elif z > 5:
  print("I will!") #this statement will execute
elif z > 6:
  print("I also won't print!") #this statement does not execute
else:
  print("Neither will I!") #this statement does not execute

Note only the first condition that evaluates as True will execute. Even though z > 6 is True, the if/elif/else block terminates after the first true condition. This means that an else will only execute if none of the conditions were True.

We can also create nested if statements for decision making. Before preceding please refer to the indentation guide once before preceding.

Let's take an example of finding a number which is even and also greater than '10':

python 
x = 34
if x %  2 == 0:  # this is how you create a comment and now, checking for even.
  if x > 10:
    print("This number is even and is greater than 10")
  else:
    print("This number is even, but not greater than 10")
else:
  print ("The number is not even. So point checking further.")

This was just a simple example for nested if statement. Please feel free to explore more online.

While the examples above are simple, you can create complex conditions using boolean comparisons and boolean operators.

Inline python if-else statement

We can also use if-else statements with inline python functions The following example should check if the number is greater or equal than 50, if yes return True:

python 
x = 89
is_greater = True if x >= 50 else False

print(is_greater)

Output

>
True
>