Table of Contents

    Class - XII: SEMESTER – III: Unit – 1: Python Programming: Section 7: Conditional statements

    Python Programming: Conditional Statements

    ১. Conditional Statement কী?

    Programming-এ Conditional Statement হলো এমন একটি control structure যার মাধ্যমে program কোনো condition বা শর্ত পরীক্ষা করে সিদ্ধান্ত নিতে পারে। বাস্তব জীবনে আমরা প্রতিদিন condition-এর ভিত্তিতে decision নিই। যেমন, যদি বৃষ্টি হয় তাহলে ছাতা নিয়ে বের হব, যদি marks 40-এর বেশি হয় তাহলে pass, যদি password সঠিক হয় তাহলে login হবে। ঠিক একইভাবে Python program-ও condition check করে নির্দিষ্ট block execute করতে পারে।

    Conditional statements program-কে intelligent করে তোলে, কারণ এর মাধ্যমে program একই input-এর জন্য এক রকম এবং ভিন্ন input-এর জন্য ভিন্ন output দিতে পারে। Python-এ conditional statement সাধারণত if, if-else, if-elif-else এবং nested conditions-এর মাধ্যমে লেখা হয়।

    ২. Conditional Statement কেন দরকার?

    যদি program সবসময় একের পর এক line execute করত, তাহলে program শুধুমাত্র fixed কাজ করতে পারত। কিন্তু বাস্তব software-এ decision making দরকার হয়। উদাহরণস্বরূপ, একটি banking application balance check করে withdrawal allow করে, একটি exam system marks অনুযায়ী grade দেয়, একটি shopping app cart value অনুযায়ী discount দেয়।

    • User input অনুযায়ী decision নেওয়ার জন্য
    • Different condition অনুযায়ী different output দেখানোর জন্য
    • Validation করার জন্য, যেমন age, password, marks, amount check করা
    • Real-world logic implement করার জন্য
    • Program flow control করার জন্য

    ৩. Python-এ Condition কীভাবে কাজ করে?

    Python-এ condition সাধারণত এমন expression যা True অথবা False result দেয়। এই result-এর উপর ভিত্তি করে Python সিদ্ধান্ত নেয় কোন block execute হবে।

    Comparison Operators

    Operator অর্থ উদাহরণ
    == সমান কিনা পরীক্ষা করে x == 10
    != সমান নয় কিনা পরীক্ষা করে x != 10
    > বড় কিনা পরীক্ষা করে x > 10
    < ছোট কিনা পরীক্ষা করে x < 10
    >= বড় বা সমান কিনা x >= 10
    <= ছোট বা সমান কিনা x <= 10

    Logical Operators

    Operator কাজ উদাহরণ
    and দুইটি condition true হলে result true age >= 18 and nationality == "Indian"
    or যেকোনো একটি condition true হলে result true marks >= 80 or grade == "A"
    not condition-এর result উল্টো করে not is_failed

    ৪. if Statement

    if statement ব্যবহার করা হয় যখন কোনো condition true হলে একটি নির্দিষ্ট code block execute করতে হয়। যদি condition false হয়, তাহলে সেই block execute হবে না।

    Syntax:

    if condition:
        statement

    Example:

    age = 20
    
    if age >= 18:
        print("আপনি ভোট দিতে পারবেন")

    এখানে age >= 18 condition true, তাই message print হবে। যদি age 18-এর কম হতো, তাহলে কোনো output আসত না।

    Flowchart: if Statement

    Start
    Condition
    True?
    Yes
    if block execute
    No
    if block skip
    End

    ৫. if-else Statement

    if-else statement তখন ব্যবহার করা হয় যখন condition true হলে এক ধরনের কাজ এবং condition false হলে অন্য ধরনের কাজ করতে হয়। অর্থাৎ program-এর কাছে দুইটি possible path থাকে। একটি true path, অন্যটি false path।

    Syntax:

    if condition:
        statement_1
    else:
        statement_2

    Example: Even বা Odd Check

    number = int(input("একটি সংখ্যা লিখুন: "))
    
    if number % 2 == 0:
        print("সংখ্যাটি Even")
    else:
        print("সংখ্যাটি Odd")

    এখানে number যদি 2 দিয়ে নিঃশেষে বিভাজ্য হয়, তাহলে even print হবে। অন্যথায় odd print হবে।

    Flowchart: if-else Statement

    Start
    Input number
    number % 2 == 0?
    Yes
    Print Even
    No
    Print Odd
    End

    ৬. if-elif-else Statement

    যখন একাধিক condition check করতে হয়, তখন if-elif-else statement ব্যবহার করা হয়। Python প্রথমে if condition check করে। যদি false হয়, তাহলে পরের elif condition check করে। কোনো condition true হলে সেই block execute হয় এবং বাকিগুলো skip হয়। যদি কোনো condition true না হয়, তাহলে else block execute হয়।

    Syntax:

    if condition1:
        statement_1
    elif condition2:
        statement_2
    elif condition3:
        statement_3
    else:
        default_statement

    Example: Grade Calculation

    marks = int(input("আপনার marks লিখুন: "))
    
    if marks >= 80:
        print("Grade: A+")
    elif marks >= 70:
        print("Grade: A")
    elif marks >= 60:
        print("Grade: B")
    elif marks >= 50:
        print("Grade: C")
    else:
        print("Fail")

    এখানে marks অনুযায়ী grade নির্ধারণ করা হচ্ছে। এই ধরনের logic exam result system, ranking system এবং eligibility checking-এর জন্য খুব useful।

    ৭. Indentation-এর গুরুত্ব

    Python-এ conditional block বোঝানোর জন্য curly braces ব্যবহার করা হয় না। Instead, indentation ব্যবহার করা হয়। if, else, elif-এর ভিতরের statements অবশ্যই indentation দিয়ে লিখতে হবে। সাধারণত ৪টি space ব্যবহার করা recommended।

    Correct:

    if True:
        print("This is inside if block")

    Wrong:

    if True:
    print("This will cause IndentationError")
    Important: Python-এ indentation ভুল হলে IndentationError হতে পারে। তাই conditional statements লেখার সময় indentation ঠিক রাখা খুব জরুরি।

    ৮. Simple Program ১: Absolute Value বের করা

    Absolute value মানে কোনো সংখ্যার positive value। যেমন, -10-এর absolute value হলো 10, আর 15-এর absolute value হলো 15। Python-এ built-in abs() function আছে, কিন্তু conditional statement শেখার জন্য আমরা manually absolute value বের করব।

    Program:

    number = int(input("একটি সংখ্যা লিখুন: "))
    
    if number < 0:
        absolute_value = -number
    else:
        absolute_value = number
    
    print("Absolute value হলো:", absolute_value)

    Explanation:

    1. User থেকে একটি number input নেওয়া হয়েছে।
    2. যদি number 0-এর ছোট হয়, তাহলে তাকে negative থেকে positive করার জন্য -number করা হয়েছে।
    3. যদি number positive বা zero হয়, তাহলে number unchanged রাখা হয়েছে।
    4. শেষে absolute value print করা হয়েছে।

    Flowchart: Absolute Value

    Start
    Input number
    number < 0?
    Yes
    absolute = -number
    No
    absolute = number
    Print absolute
    End

    ৯. Simple Program ২: তিনটি সংখ্যা Sort করা

    তিনটি সংখ্যা ছোট থেকে বড় ক্রমে সাজানো conditional statements-এর একটি খুব ভালো practical example। এখানে আমরা তিনটি number compare করে ascending order-এ print করব।

    Program: Nested if ব্যবহার করে

    a = int(input("প্রথম সংখ্যা লিখুন: "))
    b = int(input("দ্বিতীয় সংখ্যা লিখুন: "))
    c = int(input("তৃতীয় সংখ্যা লিখুন: "))
    
    if a

    Explanation:

    এই program-এ প্রথমে check করা হয়েছে কোন সংখ্যাটি সবচেয়ে ছোট। যদি a সবচেয়ে ছোট হয়, তাহলে এরপর b এবং c-এর মধ্যে ছোট-বড় compare করা হয়েছে। একইভাবে যদি b ছোট হয়, তাহলে a এবং c compare করা হয়েছে। আর যদি a বা b কেউ smallest না হয়, তাহলে c smallest ধরে বাকিগুলো compare করা হয়েছে।

    Alternative: Python-এ সহজভাবে sorted([a, b, c]) ব্যবহার করে sort করা যায়, কিন্তু conditional statement শেখার জন্য manual comparison বেশি useful।

    Short Alternative Program:

    a = int(input("প্রথম সংখ্যা লিখুন: "))
    b = int(input("দ্বিতীয় সংখ্যা লিখুন: "))
    c = int(input("তৃতীয় সংখ্যা লিখুন: "))
    
    numbers = [a, b, c]
    numbers.sort()
    
    print("Ascending order:", numbers)

    ১০. Simple Program ৩: একটি সংখ্যা Divisible কিনা পরীক্ষা করা

    কোনো সংখ্যা অন্য একটি সংখ্যা দিয়ে নিঃশেষে ভাগ যায় কিনা তা পরীক্ষা করতে modulus operator % ব্যবহার করা হয়। যদি a % b == 0 হয়, তাহলে বুঝতে হবে a, b দ্বারা divisible।

    Program: Divisibility Check

    number = int(input("সংখ্যা লিখুন: "))
    divisor = int(input("ভাজক লিখুন: "))
    
    if divisor == 0:
        print("Zero দিয়ে ভাগ করা যায় না")
    
    elif number % divisor == 0:
        print(number, "সংখ্যাটি", divisor, "দিয়ে নিঃশেষে বিভাজ্য")
    
    else:
        print(number, "সংখ্যাটি", divisor, "দিয়ে নিঃশেষে বিভাজ্য নয়")

    Explanation:

    1. User থেকে number এবং divisor input নেওয়া হয়েছে।
    2. প্রথমে check করা হয়েছে divisor zero কিনা, কারণ zero দিয়ে division করা যায় না।
    3. তারপর modulus operator ব্যবহার করে remainder check করা হয়েছে।
    4. যদি remainder 0 হয়, তাহলে number divisible। অন্যথায় divisible নয়।

    Flowchart: Divisibility Check

    Start
    Input number and divisor
    divisor == 0?
    Yes
    Print invalid divisor
    No
    number % divisor == 0?
    Yes
    Print Divisible
    No
    Print Not Divisible
    End

    ১১. Common Mistakes

    • Colon ভুলে যাওয়া: if, elif, else-এর শেষে colon : দিতে হয়।
    • Indentation ভুল করা: block-এর ভিতরের statements indent না করলে error হবে।
    • = এবং == confuse করা: = assignment, == comparison।
    • Condition order ভুল করা: grade calculation-এর মতো ক্ষেত্রে condition order ঠিক না হলে wrong output আসতে পারে।
    • Zero division check না করা: divisibility program-এ divisor zero হলে runtime error হতে পারে।

    ১২. if, if-else এবং if-elif-else-এর তুলনা

    Statement কখন ব্যবহার হয় Example Use
    if শুধু condition true হলে কাজ করতে চাইলে Age 18 হলে voting message
    if-else True এবং False দুই অবস্থার জন্য আলাদা কাজ করতে চাইলে Even/Odd check
    if-elif-else একাধিক condition check করতে চাইলে Grade calculation
    Nested if এক condition-এর ভিতরে আরেক condition check করতে চাইলে Username এবং password validation

    উপসংহার

    Conditional statements Python programming-এর একটি fundamental concept। এর মাধ্যমে program decision নিতে পারে এবং different situation অনুযায়ী different output দিতে পারে। if statement simple condition check করে, if-else statement true/false দুই path handle করে, আর if-elif-else একাধিক condition manage করতে সাহায্য করে।

    Absolute value বের করা, তিনটি সংখ্যা sort করা, এবং divisibility check করার মতো simple programs conditional statement-এর ব্যবহার ভালোভাবে বোঝায়। Python-এ conditional logic ভালোভাবে আয়ত্ত করলে আপনি grade calculator, login system, banking validation, shopping discount system, eligibility checker এবং আরও অনেক real-world application তৈরি করতে পারবেন।