Bird
Raised Fist0
Pythonprogramming~3 mins

Why If–else execution flow in Python? - Purpose & Use Cases

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
The Big Idea

What if your program could think and decide just like you do every day?

The Scenario

Imagine you want to decide what to wear based on the weather. You check the sky, then guess if it might rain, and then pick clothes. Doing this by guessing every time without clear steps can be confusing and slow.

The Problem

Without a clear way to check conditions, you might forget some weather types or pick wrong clothes. It's like trying to remember many rules in your head, which leads to mistakes and wastes time.

The Solution

If-else execution flow lets you tell the computer exactly what to do when certain things happen. It's like having a clear checklist: if it rains, wear a raincoat; else, wear sunglasses. This makes decisions simple and reliable.

Before vs After
Before
weather = 'rainy'
# Guess what to wear without clear steps
if weather == 'rainy':
    print('Wear raincoat')
# No else, so what if sunny?
After
weather = 'rainy'
if weather == 'rainy':
    print('Wear raincoat')
else:
    print('Wear sunglasses')
What It Enables

This lets your programs make smart choices automatically, just like you do when deciding what to wear based on the weather.

Real Life Example

Think about an app that shows a message: if you have unread emails, it alerts you; else, it says your inbox is clear. This is done using if-else flow.

Key Takeaways

If-else helps your program choose between options clearly.

It prevents mistakes by handling all cases step-by-step.

It makes your code easy to read and understand.

Practice

(1/5)
1. What does an if-else statement do in Python?
easy
A. It chooses between two paths based on a condition.
B. It repeats code multiple times.
C. It defines a function.
D. It creates a list.

Solution

  1. Step 1: Understand the purpose of if-else

    An if-else statement lets the program decide which code to run based on a condition being true or false.
  2. Step 2: Compare with other options

    Repeating code is done by loops, functions define reusable code blocks, and lists store multiple items, so these are not correct.
  3. Final Answer:

    It chooses between two paths based on a condition. -> Option A
  4. Quick Check:

    If-else = choose path [OK]
Hint: If-else picks one of two paths based on condition [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else creates data structures
  • Mixing if-else with function definitions
2. Which of the following is the correct syntax for an if-else statement in Python?
easy
A. if x > 0: print('Positive') else: print('Non-positive')
B. if x > 0 then print('Positive') else print('Non-positive')
C. if (x > 0) { print('Positive'); } else { print('Non-positive'); }
D. if x > 0 print('Positive') else print('Non-positive')

Solution

  1. Step 1: Recall Python if-else syntax

    Python uses a colon after the condition and indentation for the code blocks.
  2. Step 2: Check each option

    if x > 0: print('Positive') else: print('Non-positive') uses colons and indentation correctly. if x > 0 then print('Positive') else print('Non-positive') uses 'then' which is not Python syntax. if (x > 0) { print('Positive'); } else { print('Non-positive'); } uses braces and semicolons, which are for other languages. if x > 0 print('Positive') else print('Non-positive') misses colons and indentation.
  3. Final Answer:

    if x > 0: print('Positive') else: print('Non-positive') -> Option A
  4. Quick Check:

    Colon + indent = correct if-else [OK]
Hint: Remember colons and indentation for if-else in Python [OK]
Common Mistakes:
  • Using 'then' keyword
  • Forgetting colons after if and else
  • Not indenting code blocks
3. What will be the output of this code?
age = 18
if age >= 18:
    print('Adult')
else:
    print('Minor')
medium
A. Minor
B. Adult
C. 18
D. No output

Solution

  1. Step 1: Evaluate the condition age >= 18

    Since age is 18, the condition age >= 18 is true.
  2. Step 2: Determine which block runs

    Because the condition is true, the code inside the if block runs, printing 'Adult'.
  3. Final Answer:

    Adult -> Option B
  4. Quick Check:

    Condition true -> print 'Adult' [OK]
Hint: Check if condition is true or false to pick output [OK]
Common Mistakes:
  • Assuming >= means less than
  • Printing else block by mistake
  • Confusing output with variable value
4. Find the error in this code:
num = 5
if num > 0
    print('Positive')
else:
    print('Non-positive')
medium
A. Variable 'num' is not defined
B. Wrong indentation on print statements
C. Missing colon ':' after 'if num > 0' line
D. 'else' should be 'elif' here

Solution

  1. Step 1: Check syntax of if statement

    The if statement must end with a colon ':' to mark the start of the block.
  2. Step 2: Identify the missing colon

    The code misses the colon after 'if num > 0', causing a syntax error.
  3. Final Answer:

    Missing colon ':' after 'if num > 0' line -> Option C
  4. Quick Check:

    Colon needed after if condition [OK]
Hint: Always put colon after if condition [OK]
Common Mistakes:
  • Forgetting colon after if
  • Confusing else with elif
  • Incorrect indentation
5. You want to write a program that prints 'Even' if a number is even, and 'Odd' if it is odd. Which code correctly uses if-else to do this?
hard
A. num = 4 if num % 2: print('Even') else: print('Odd')
B. num = 4 if num / 2 == 0: print('Even') else: print('Odd')
C. num = 4 if num % 2 != 0: print('Even') else: print('Odd')
D. num = 4 if num % 2 == 0: print('Even') else: print('Odd')

Solution

  1. Step 1: Understand how to check even numbers

    A number is even if dividing by 2 leaves no remainder, so num % 2 == 0 is true for even numbers.
  2. Step 2: Check each option's condition

    num = 4 if num % 2 == 0: print('Even') else: print('Odd') correctly uses num % 2 == 0. num = 4 if num / 2 == 0: print('Even') else: print('Odd') uses division instead of modulo, which is wrong. num = 4 if num % 2: print('Even') else: print('Odd') treats nonzero remainder as even, which is incorrect. num = 4 if num % 2 != 0: print('Even') else: print('Odd') reverses the logic.
  3. Final Answer:

    num = 4 if num % 2 == 0: print('Even') else: print('Odd') -> Option D
  4. Quick Check:

    Modulo equals zero means even [OK]
Hint: Use 'num % 2 == 0' to check even numbers [OK]
Common Mistakes:
  • Using division instead of modulo
  • Reversing even and odd logic
  • Checking truthiness of modulo without comparison