if, if-elif, if-elif-else, nested if statements

Conditional statements allow your code to make choices dynamically, routing execution paths based on real time balance limits.

10 min read · 12 cards · 3 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

The Choice at the College Canteen

Imagine standing at your college canteen counter with a craving for a hot samosa. Before placing your order, your mind automatically performs a quick check: Do I have enough money in my wallet? If yes, buy it. If no, skip it. In your Semester 1 BCA104 C labs, writing these choices required endless parentheses and curly braces. How does Python make these identical, real world decisions look clean and readable without drowning in brackets?

Theory

The Railway Track Switch

Think of conditional statements like a railway track switcher. A train moves forward along a single track. When it reaches a junction, the position of the lever determines whether the train turns left toward Platform 1 or switches right toward Platform 2. The train can never travel down both paths simultaneously. The lever's position represents a true or false condition that routes your program down exactly one track.

Theory

The Decision Elements Formally

In Python, conditional statements control the flow of execution by evaluating expressions as true or false. The if statement marks the primary gate. The elif (short for else if) handles multiple alternative conditions sequentially, replacing the traditional C switch-case block. The else clause catches all remaining cases when every prior condition fails. To add deep logic checks, you can write a nested if structure by embedding one conditional block directly inside another.

At a glance

Table 1: Python conditional statement varieties and design use cases.

Structure StyleKeyword PatternWhen to Use It
Simple ConditionifWhen you want to run a block for a single true outcome.
Alternative Choiceif-elseWhen you have exactly two paths, one true and one false.
Multi-way Branchif-elif-elseWhen you need to test multiple conditions in sequence.
Layered Checksnested ifWhen a secondary condition depends on a primary condition passing.

Theory

Worked Example: Smart Expense Alerts

Let us implement a complete tiered conditional tree for our running project, PocketMoney. We will check our current account balance and print customized financial health status messages based on varying resource thresholds.

Practical

PocketMoney Financial Status Routing

balance = 120

if balance > 500:
    print("Safe Zone: Stable balance.")
elif balance >= 100:
    print("Warning Zone: Control your spends!")
    if balance == 120:
        print("Alert: Exact budget match detected.")
else:
    print("Critical Zone: Overspent completely!")

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Think first

Trace the Conditional Path

Analyze the Python script above mentally. Given a balance value of 120, what exact printed lines will be sent to the terminal? Trace the steps before tapping.

Show the answer

The script will output:

Warning Zone: Control your spends!

Alert: Exact budget match detected.

Why? Python evaluates line 3 (120 > 500) as False, so it skips the first block. It moves to line 5 (120 >= 100), which evaluates to True. It enters this block, prints the warning message, and then encounters the nested if on line 7 (120 == 120). Since that is also True, it outputs the alert. The else block is completely ignored.

Quiz

What is a major structural difference between conditional routing in BCA204 Python and BCA104 C?

  1. Python requires parentheses around condition statements.
  2. Python drops curly braces entirely and uses strict indentation blocks marked by a trailing colon.
  3. Python permits multiple else blocks attached to a single if block.
  4. Python lacks an elif keyword, forcing developers to use switch-case tools.
Show the answer

Python drops curly braces entirely and uses strict indentation blocks marked by a trailing colon.

Python does away with mandatory condition parentheses and grouping curly braces entirely. Instead, it relies on a trailing colon character at the end of the condition line, combined with identical indentation spaces for the nested code statements.

Quiz

Consider this problematic code fragment: balance = 600 if balance > 100: print("Medium Balance") elif balance > 500: print("High Balance") What will print on execution?

  1. Medium Balance
  2. High Balance
  3. Both statements will print.
  4. SyntaxError: overlapping conditions
Show the answer

Medium Balance

Python evaluates conditional structures from top to bottom. The moment it finds a matching condition that returns True, it executes that specific block and exits the entire statement structure immediately. Because 600 > 100 is True, line 3 runs and the subsequent elif is skipped entirely.

Watch out

The Classic Trap: The Colon Collapse

The most frequent mark losing mistake in university exam papers is writing expressions like if balance < 100 and proceeding to the next line without adding the mandatory colon character : at the end of the line. The Python engine expects this punctuation token to open an execution block. Skipping it triggers a runtime SyntaxError before any code executes.

Theory

Connecting Conditions to Semester 3

Conditional checks are the gatekeepers of secure database interaction. In Semester 3 (BCA303), when building dynamic applications powered by SQLite tables, you will use conditional lines to validate text constraints before committing alterations, such as if user_role == "Admin": execute_db_delete().

Summary

Key takeaways

  • Conditional structures evaluate expressions to route execution flow dynamically.
  • The elif keyword provides sequential multi-way testing, replacing the C switch-case.
  • Python terminates expression matching immediately after executing the first True block.
  • Nested loops and nested conditional blocks require strict, uniform spacing levels.
  • Trailing colons are mandatory structural components for all choice keywords.
  • Memory Hook: Colons open blocks, indentation rules tracks!

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Conditions, Loops and Strings

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati