Μπορείτε να έχετε εντολές “if” μέσα σε άλλες εντολές “if”, αυτό ονομάζεται “nested if statements”. Μπορείτε να χρησιμοποιήσετε τα nested if statements για να δημιουργήσετε περισσότερες προηγμένες συνθήκες.
Στην Python, η σύνταξη του nested if statement είναι η εξής:
if condition1: statement if condition2: statement
Σε αυτό το παράδειγμα, η συνθήκη του πρώτου “if” ελέγχει εάν η συνθήκη “condition1” είναι αληθής. Εάν η συνθήκη είναι αληθής, εκτελείται η εντολή “statement” και στη συνέχεια ελέγχεται η συνθήκη “condition2”. Εάν και αυτή η συνθήκη είναι αληθής, εκτελείται η δεύτερη εντολή “statement”.
Παρακάτω είναι ένα παράδειγμα χρήσης του nested if statement:
x = 10 y = 5 if x > 5: print("x είναι μεγαλύτερο από 5") if y > 2: print("y είναι μεγαλύτερο από 2")
Σε αυτό το παράδειγμα, η συνθήκη του πρώτου “if” ελέγχει εάν η μεταβλητή “x” είναι μεγαλύτερη από 5. Επειδή η μεταβλητή “x” είναι ίση με 10, εκτελείται η εντολή “print(“x είναι μεγαλύτερο από 5″)” και στη συνέχεια ελέγχεται η συνθήκη του δεύτερου “if”. Επειδή η μεταβλητή “y” είναι μεγαλύτερη από 2, εκτελείται και η δεύτερη εντολή “print(“y είναι μεγαλύτερο από 2″)”.
Μπορείτε να έχετε όσα επίπεδα των nested if statements θέλετε. Ωστόσο, ορισμένοι προγραμματιστές θεωρούν ότι υπερβολική χρήση των nested if statements μπορεί να καταστήσει τον κώδικα δύσκολο στην κατανόηση. Συνήθως, όταν χρειάζεστε περίπλοκες συνθήκες, είναι καλύτερο να χρησιμοποιήσετε λογικούς τελεστές (and, or, not) και τονισμένες συνθήκες.
Οι δηλώσεις “if” δεν μπορούν να είναι κενές, αλλά εάν για κάποιο λόγο έχετε μια δήλωση “if” χωρίς περιεχόμενο, χρησιμοποιήστε τη δήλωση “pass” για να αποφύγετε το να λάβετε ένα σφάλμα.
[adinserter block=”2″]
Η δήλωση “pass” είναι μια εντολή που δεν κάνει τίποτα. Χρησιμοποιείται ως προσωρινή συντακτική κατασκευή όταν χρειάζεστε μια εντολή αλλά δεν θέλετε να προσθέσετε κάτι στο σώμα της εντολής αυτής.
Παρακάτω είναι ένα παράδειγμα χρήσης της δήλωσης “pass”:
x = 5 if x > 2: pass
Σε αυτό το παράδειγμα, η συνθήκη του “if” ελέγχει εάν η μεταβλητή “x” είναι μεγαλύτερη από 2. Επειδή η μεταβλητή “x” είναι ίση με 5 και η συνθήκη είναι αληθής, δεν θα προκληθεί σφάλμα επειδή η δήλωση “pass” θα προσθέσει προσωρινά μια εντολή στο σώμα του “if”.