if … elif … else Statements – Examples

पिछले Post में Discussed इन तीनों Statements को Properly समझने के लिए हम निम्‍नानुसार दो संख्‍याओं में से बड़ी संख्‍या Return करने का एक Example Program Create कर सकते हैं-

[code]
FileName: BigIn2Numbers-ifStatement.py
# Get User Inputs
firstNo = input("Enter First Number: ")
secondNo = input("Enter Second Number: ")
print()
# Change User Inputs to Floating Point Values
firstNo = float(firstNo)
secondNo = float(secondNo)
# Test for Biggest Number
if(firstNo > secondNo):
    print(firstNo, "is Greater than", secondNo)
if(firstNo < secondNo):
    print(secondNo, "is Greater than", firstNo)

Output
Enter First Number: 54.263
Enter Second Number: 54
54.263 is Greater than 54
[/code]

इस Example में सबसे पहले input() Function द्वारा User से दो Numerical Values को Input करवाया जाता है और Input की गई Values के Reference को firstNosecondNo नाम के Variables में Hold किया जाता है।

चूंकि input() Function, User से जो भी Input Accept करता है, वो String Format में होता है और String पर किसी तरह का Mathematical अथवा Logical Calculation Perform नहीं किया जा सकता। इसीलिए Input के रूप में आने वाली Values को float() Function का प्रयोग करके Floating Point Values में Translate कर लिया है।

अन्‍त में हमने निम्‍नानुसार if Statement को Use किया है-

if(firstNo > secondNo):

जिसमें इस बात को Test किया है कि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से बड़ी है या नहीं। यदि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से बड़ी होती है, तो पहला if Statement True Return करता है, परिणामस्‍वरूप Program Control पहले if Statement Block में Entry करता है और निम्‍न Statement का Execution कर देता है-

    print(firstNo, “is Greater than”, secondNo)

लेकिन यदि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से छोटी होती है, तो पहला if Statement False Return करता है, परिणामस्‍वरूप Program Control पहले if Statement Block में Entry नहीं करता।

पहला if Statement True Return करे या False, दोनों ही स्थितियों में Program Control, निम्‍नानुसार दूसरे if Statement पर जरूर पहुंचता है-

if(firstNo < secondNo):

और यहां पहुंचकर इस बार ये Check करता है कि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से छोटी है या नहीं। यदि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से छोटी होती है, तो ये दूसरा if Statement True Return करता है, परिणामस्‍वरूप Program Control दूसरे if Statement Block में Entry कर लेता है और निम्‍न Statement का Execution कर देता है-

    print(secondNo, “is Greater than”, firstNo)

लेकिन यदि firstNo द्वारा Referenced Value, secondNo द्वारा Referenced Value से बड़ी होती है, तो दूसरा if Statement False Return करता है, परिणामस्‍वरूप Program Control दूसरे if Statement Block में Entry नहीं करता और क्‍योंकि ये Statement हमारे Program का अन्तिम Statement है, इसलिए इस if Statement का Execution होते ही Program Control इस Program से Exit हो जाता है।

हम समझ सकते हैं कि इस Example में हमने एक ही बात को तय करने के लिए दो if Statements का प्रयोग किया है, जबकि हम जानते हैं कि यदि पहला if Statement Execute हो जाएगा, तो किसी भी स्थिति में दूसरा if Statement Execute नहीं होगा। इसी तरह से दूसरा if Statement केवल उसी स्थिति में Execute होगा, जबकि पहला if Statement Execute न हो।

इसी तरह की स्थितियों को Handle करने के लिए ही if … else Statement का प्रयोग किया जाता है, जहां हमें पहले से पता होता है कि दो में से कोई एक ही स्थिति True हो सकती है। इसलिए यदि हम इसी Example Program को if … else Statement का प्रयोग करते हुए Recreate करें, तो हमारा Recreated Example Program निम्‍नानुसार होगा-

[code]
FileName: BigIn2Numbers-if-elseStatement.py
# Get User Inputs
firstNo = input("Enter First Number: ")
secondNo = input("Enter Second Number: ")
print()
# Change User Inputs to Floating Point Values
firstNo = float(firstNo)
secondNo = float(secondNo)
# Test for Biggest Number
if(firstNo > secondNo):
    print(firstNo, "is Greater than", secondNo)
else:
    print(secondNo, "is Greater than", firstNo)

Output
Enter First Number: 456.2
Enter Second Number: 325.6
456.2 is Greater than 325.6
[/code]

जब हम if … else Statement का प्रयोग करते हैं, तब हमें else के साथ किसी Test Condition को Specify करना जरूरी नहीं होता क्‍योंकि हमें पहले से ही पता है कि Program Control केवल उसी स्थिति में else Statement Block को Execute करेगा, जबकि if Statement False हो और जब दो में से कोई एक ही स्थिति True हो सकती है, तब उस स्थिति में दोनों स्थितियों के लिए Test Condition Specify करना जरूरी नहीं है क्‍योंकि यदि if Statement True है, तो इसका यही मतलब है कि else Statement False है।

इसलिए जब हम if Statement का प्रयोग करते हैं, तब पहला if Condition True होने के बावजूद दूसरे if Statement का Test Condition जरूर Test होता है, जबकि इसकी जरूरत नहीं होती, लेकिन जब हम if … else Statement का प्रयोग करते हैं, तब दोनों में से कोई एक ही Test Condition Check होता है, जिससे Program का Performance प्रभावित नहीं होता।

जब हमें Multiple Test Conditions के आधार पर किसी एक ही Statement Block का Execution करना होता है, तब Best तरीका यही होता है कि if … elif … else Statement का प्रयोग करें क्‍योंकि if … else Statement से हम केवल दो में से किसी एक Statement Block का Execution कर सकते हैं जबकि if Statement से हम केवल एक Statement Block के Execution का चुनाव कर सकते हैं और यदि हमें Multiple Conditions को Test करना हो, तो उस स्थिति में हमें Multiple if Statements को Use करना पड़ता है, जो कि सही Programming Methodology नहीं है।

If … elif … else Statement Block को ठीक से समझने के लिए हम निम्‍नानुसार एक और Example Program Create कर सकते हैं, जिसमें User एक Integer Number Input करेगा और हमारा Program उस Integer Number से Associated एक Day Name Output में Return करेगा-

[code]
FileName: DayNumber-if-elif-elseStatement.py
# Get User Input
dayNumber = input("Enter Day Number: ")
print()
# Change User Input to Integer Value
dayNumber = int(dayNumber)
# Returned Day Name associated with Day Number
if(dayNumber == 0):
    print("Day Number", dayNumber, "is associated with SUNDAY")
elif(dayNumber == 1):
    print("Day Number", dayNumber, "is associated with MONDAY")
elif(dayNumber == 2):
    print("Day Number", dayNumber, "is associated with TUESDAY")
elif(dayNumber == 3):
    print("Day Number", dayNumber, "is associated with WEDNESSDAY")
elif(dayNumber == 4):
    print("Day Number", dayNumber, "is associated with THURSTDAY")
elif(dayNumber == 5):
    print("Day Number", dayNumber, "is associated with FRIDAY")
elif(dayNumber == 6):
    print("Day Number", dayNumber, "is associated with SATURDAY")
elif(dayNumber == 7):
    print("Day Number", dayNumber, "is associated with SUNDAY")
else:
    print("Wrong Input. Please! Input between 0 to 7 ")

Output
Enter Day Number: 7
Day Number 7 is associated with SUNDAY
[/code]

इस Example के अनुसार User 0 से 7 बीच जो भी Integer Value Input करता है, Program उस Integer Value से Associated Day Name Output में Display कर देता है और जैसे ही कोई भी एक if या elif Statement True हो जाता है, Program Control उसी if या elif Statement Block को Execute करके इस if … elif … else Statement Block से Exit हो जाता है। यानी किसी भी एक Condition के True हो जाने के बाद Program Control इस Statement के किसी अगली Test Condition को Check नहीं करता।

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW