ನೆಸ್ಟೆಡ್ if ಸ್ಟೇಟ್ಮೆಂಟ್ಗಳು (Nested if Statements)
ಪೈಥಾನ್ನಲ್ಲಿ, ಒಂದು if, elif, ಅಥವಾ else ಸ್ಟೇಟ್ಮೆಂಟ್ನೊಳಗೆ ಮತ್ತೊಂದು if ಸ್ಟೇಟ್ಮೆಂಟ್ ಅನ್ನು ಬಳಸುವುದನ್ನು ನೆಸ್ಟೆಡ್ if (Nested if) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇದು ಬಹು-ಹಂತದ (multi-level) ಷರತ್ತುಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಸಂಕೀರ್ಣ ತರ್ಕವನ್ನು (complex logic) ನಿರ್ಮಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ನೆಸ್ಟೆಡ್ if ಸಿಂಟ್ಯಾಕ್ಸ್
ಸಿಂಟ್ಯಾಕ್ಸ್:
if condition1:
# condition1 ನಿಜವಾಗಿದ್ದರೆ ಈ ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ
statement(s)
if condition2:
# condition1 ಮತ್ತು condition2 ಎರಡೂ ನಿಜವಾಗಿದ್ದರೆ ಈ ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ
statement(s)
else:
# condition1 ನಿಜ ಮತ್ತು condition2 ಸುಳ್ಳಾದರೆ ಈ ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ
statement(s)
else:
# condition1 ಸುಳ್ಳಾದರೆ ಈ ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ
statement(s)
ಉದಾಹರಣೆ 1: ಚಾಲನಾ ಪರವಾನಗಿ ಅರ್ಹತೆ
ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ಚಾಲನಾ ಪರವಾನಗಿಗಾಗಿ (driving license) ಅರ್ಜಿ ಸಲ್ಲಿಸಲು ಅರ್ಹರೇ ಎಂದು ಪರೀಕ್ಷಿಸೋಣ. - ಷರತ್ತು 1: ವಯಸ್ಸು 18 ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬೇಕು. - ಷರತ್ತು 2: ಅವರು ಲಿಖಿತ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾಗಿರಬೇಕು.
age = 25
passed_written_test = True
if age >= 18:
print("ವಯಸ್ಸಿನ ಅರ್ಹತೆ ಇದೆ.")
if passed_written_test:
print("ಲಿಖಿತ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾಗಿದ್ದೀರಿ.")
print("ಅಭಿನಂದನೆಗಳು! ನೀವು ಚಾಲನಾ ಪರವಾನಗಿಗಾಗಿ ಅರ್ಜಿ ಸಲ್ಲಿಸಬಹುದು.")
else:
print("ಲಿಖಿತ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಅನುತ್ತೀರ್ಣರಾಗಿದ್ದೀರಿ.")
print("ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.")
else:
print("ವಯಸ್ಸಿನ ಅರ್ಹತೆ ಇಲ್ಲ.")
print("ನೀವು 18 ವರ್ಷ ಪೂರ್ಣಗೊಂಡ ನಂತರ ಅರ್ಜಿ ಸಲ್ಲಿಸಬಹುದು.")
ಉದಾಹರಣೆ 2: ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆಯನ್ನು ಕಂಡುಹಿಡಿಯುವುದು
ಮೂರು ಸಂಖ್ಯೆಗಳಲ್ಲಿ ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆಯನ್ನು ಕಂಡುಹಿಡಿಯಲು ನೆಸ್ಟೆಡ್ if ಅನ್ನು ಬಳಸಬಹುದು.
num1 = 10
num2 = 50
num3 = 30
if num1 >= num2:
if num1 >= num3:
largest = num1
else:
largest = num3
else:
if num2 >= num3:
largest = num2
else:
largest = num3
print(f"ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆ: {largest}") # Output: ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆ: 50
and ಆಪರೇಟರ್ ಬಳಸಿ ಅಥವಾ max() ಫಂಕ್ಷನ್ ಬಳಸಿ ಇನ್ನಷ್ಟು ಸುಲಭವಾಗಿ ಪರಿಹರಿಸಬಹುದು. ಆದರೆ, ನೆಸ್ಟೆಡ್ if ನ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇದು ಉತ್ತಮ ಉದಾಹರಣೆಯಾಗಿದೆ.
ನೆಸ್ಟೆಡ್ if ಬಳಸುವಾಗ ಗಮನಿಸಬೇಕಾದ ಅಂಶಗಳು
- ಓದಬಲ್ಲದು (Readability): ಅತಿಯಾದ ನೆಸ್ಟಿಂಗ್ (ಅನೇಕ ಹಂತಗಳು) ಕೋಡ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, 2-3 ಹಂತಗಳಿಗಿಂತ ಹೆಚ್ಚು ನೆಸ್ಟಿಂಗ್ ಅನ್ನು ತಪ್ಪಿಸುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸ.
- ತರ್ಕವನ್ನು ಸರಳಗೊಳಿಸಿ: ಸಾಧ್ಯವಾದರೆ,
andಆಪರೇಟರ್ ಬಳಸಿ ಷರತ್ತುಗಳನ್ನು ಸಂಯೋಜಿಸಿ ನೆಸ್ಟಿಂಗ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು.
ಉದಾಹರಣೆ: ಚಾಲನಾ ಪರವಾನಗಿ ತರ್ಕವನ್ನು ಸರಳಗೊಳಿಸುವುದು
age = 25
passed_written_test = True
if age >= 18 and passed_written_test:
print("ಅಭಿನಂದನೆಗಳು! ನೀವು ಚಾಲನಾ ಪರವಾನಗಿಗಾಗಿ ಅರ್ಜಿ ಸಲ್ಲಿಸಬಹುದು.")
else:
print("ಕ್ಷಮಿಸಿ, ನೀವು ಅರ್ಹರಲ್ಲ.")
ಸಂಕೀರ್ಣ ನಿರ್ಧಾರ ತೆಗೆದುಕೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ನೆಸ್ಟೆಡ್ if ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಕೋಡ್ನ ಸ್ಪಷ್ಟತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವುದು ಯಾವಾಗಲೂ ಮುಖ್ಯ.