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

Conditional statements તમારા code ને dynamically પસંદગી કરવા દે છે, real time balance limits ના આધારે execution paths route કરતાં.

10 min read · 12 cards · 3 checks

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


Theory

College Canteen માં પસંદગી

કલ્પના કરો તમારા college canteen counter પર એક ગરમ samosa ની તલપ સાથે ઊભા રહેવું. તમારો order આપતાં પહેલાં, તમારું મગજ આપોઆપ એક ઝડપી તપાસ કરે છે: શું મારા wallet માં પૂરતા પૈસા છે? જો હા, ખરીદો. જો ના, છોડો. તમારા Semester 1 BCA104 C labs માં, આ પસંદગીઓ લખવા અંતહીન parentheses અને curly braces જોઈતા હતા. Python આ બિલકુલ, ખરી દુનિયાના નિર્ણયોને brackets માં ડૂબ્યા વગર સાફ અને વાંચી શકાય એવા કેવી રીતે દેખાડે છે?

Theory

Railway Track Switch

conditional statements ને એક railway track switcher ની જેમ વિચારો. એક train એક એકલા track પર આગળ વધે છે. જ્યારે એ એક junction પર પહોંચે છે, lever ની position નક્કી કરે છે કે train ડાબે Platform 1 તરફ વળે છે કે જમણે Platform 2 તરફ switch કરે છે. train ક્યારેય એક સાથે બંને રસ્તા પર જઈ શકતી નથી. lever ની position એક true કે false condition દર્શાવે છે જે તમારા program ને બિલકુલ એક track પર route કરે છે.

Theory

Decision Elements ઔપચારિક રીતે

Python માં, conditional statements expressions ને true કે false તરીકે evaluate કરીને execution ના flow ને નિયંત્રિત કરે છે. if statement પ્રાથમિક gate mark કરે છે. elif (else if નું ટૂંકું) અનેક વૈકલ્પિક conditions ને ક્રમિક રીતે સંભાળે છે, પરંપરાગત C switch-case block ની જગ્યા લેતાં. else clause બધા બાકીના cases પકડે છે જ્યારે દરેક પાછલી condition નિષ્ફળ થાય. ઊંડા logic checks ઉમેરવા, તમે એક conditional block ને સીધું બીજામાં embed કરીને એક nested if structure લખી શકો છો.

At a glance

Table 1: Python conditional statement પ્રકારો અને design use cases.

Structure StyleKeyword Patternએને ક્યારે વાપરવું
Simple Conditionifજ્યારે તમે એક એકલા true outcome માટે એક block ચલાવવા માંગો.
Alternative Choiceif-elseજ્યારે તમારી પાસે બિલકુલ બે રસ્તા છે, એક true અને એક false.
Multi-way Branchif-elif-elseજ્યારે તમારે ક્રમમાં અનેક conditions test કરવી હોય.
Layered Checksnested ifજ્યારે એક secondary condition એક primary condition ના pass થવા પર આધાર રાખે.

Theory

Worked Example: Smart Expense Alerts

ચાલો આપણા ચાલતા project, PocketMoney માટે એક પૂર્ણ tiered conditional tree લાગુ કરીએ. આપણે આપણું હાલનું account balance તપાસીશું અને અલગ resource thresholds ના આધારે customized financial health status messages print કરીશું.

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

Conditional Path ને ટ્રેસ કરો

ઉપરના Python script નું મનમાં વિશ્લેષણ કરો. 120 ના એક balance value સાથે, terminal પર કઈ બિલકુલ printed lines મોકલાશે? tap કરતાં પહેલાં પગલાં ટ્રેસ કરો.

Show the answer

script output કરશે:

Warning Zone: Control your spends!

Alert: Exact budget match detected.

કેમ? Python line 3 (120 > 500) ને False તરીકે evaluate કરે છે, તો એ પહેલો block skip કરે છે. એ line 5 (120 >= 100) પર જાય છે, જે True evaluate થાય છે. એ આ block માં ઘૂસે છે, warning message print કરે છે, અને પછી line 7 (120 == 120) પર nested if સાથે અથડાય છે. કારણ કે એ પણ True છે, એ alert output કરે છે. else block સંપૂર્ણપણે અવગણાય છે.

Quiz

BCA204 Python અને BCA104 C માં conditional routing વચ્ચેનો એક મોટો સંરચનાત્મક તફાવત શું છે?

  1. Python ને condition statements ની આસપાસ parentheses જોઈએ.
  2. Python curly braces સંપૂર્ણપણે છોડી દે છે અને એક trailing colon થી mark કરેલા સખ્ત indentation blocks વાપરે છે.
  3. Python એક એકલા if block સાથે જોડાયેલા અનેક else blocks ની પરવાનગી આપે છે.
  4. Python માં એક elif keyword નથી, developers ને switch-case tools વાપરવા મજબૂર કરતાં.
Show the answer

Python curly braces સંપૂર્ણપણે છોડી દે છે અને એક trailing colon થી mark કરેલા સખ્ત indentation blocks વાપરે છે.

Python ફરજિયાત condition parentheses અને grouping curly braces ને સંપૂર્ણપણે ખતમ કરી દે છે. એને બદલે, એ condition line ના અંતે એક trailing colon character પર આધાર રાખે છે, nested code statements માટે એકસરખા indentation spaces સાથે મળીને.

Quiz

આ સમસ્યાગ્રસ્ત code fragment પર વિચાર કરો: balance = 600 if balance > 100: print("Medium Balance") elif balance > 500: print("High Balance") execution પર શું print થશે?

  1. Medium Balance
  2. High Balance
  3. બંને statements print થશે.
  4. SyntaxError: overlapping conditions
Show the answer

Medium Balance

Python conditional structures ને ઉપરથી નીચે evaluate કરે છે. જે ક્ષણે એ એક મેળ ખાતી condition શોધે છે જે True આપે છે, એ એ ખાસ block ને execute કરે છે અને તરત પૂરી statement structure થી બહાર નીકળે છે. કારણ કે 600 > 100 True છે, line 3 ચાલે છે અને પછીનો elif સંપૂર્ણપણે skip થાય છે.

Watch out

Classic ફાંદો: Colon Collapse

university exam papers માં સૌથી વારંવાર marks-ગુમાવતી ભૂલ if balance < 100 જેવા expressions લખવા અને line ના અંતે ફરજિયાત colon character : ઉમેર્યા વગર આગળની line પર જવું છે. Python engine આ punctuation token થી એક execution block ખોલવાની અપેક્ષા રાખે છે. એને છોડવું કોઈ પણ code execute થાય એ પહેલાં એક runtime SyntaxError trigger કરે છે.

Theory

Conditions ને Semester 3 સાથે જોડવા

Conditional checks સુરક્ષિત database interaction ના દ્વારપાળ છે. Semester 3 (BCA303) માં, જ્યારે SQLite tables દ્વારા powered dynamic applications બનાવો છો, તમે alterations commit કરતાં પહેલાં text constraints validate કરવા conditional lines વાપરશો, જેમ if user_role == "Admin": execute_db_delete().

Summary

Key takeaways

  • Conditional structures expressions ને evaluate કરીને execution flow dynamically route કરે છે.
  • elif keyword ક્રમિક multi-way testing આપે છે, C switch-case ની જગ્યા લેતાં.
  • Python પહેલો True block execute કર્યાની તરત પછી expression matching સમાપ્ત કરે છે.
  • Nested loops અને nested conditional blocks ને સખ્ત, એકસમાન spacing levels જોઈએ.
  • Trailing colons બધા choice keywords માટે ફરજિયાત સંરચનાત્મક ઘટકો છે.
  • Memory Hook: Colons blocks ખોલે છે, indentation 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

if, if-elif, if-elif-else, nested if statements · Programming Skills · Gri-Learn