1.2 Οι ιδιότητες της If … Else στην Python

Στην Python, η εσοχή (indentation) χρησιμοποιείται για να οργανώσει τον κώδικα σε τμήματα ή ομάδες δηλώσεων, γνωστά και ως “blocks”. Αντίθετα με άλλες γλώσσες προγραμματισμού που χρησιμοποιούν αγκύλες ({}) ή άλλα σύμβολα για τον σκοπό αυτό, η Python χρησιμοποιεί την εσοχή για να καθορίσει την ομάδα δηλώσεων που ανήκουν σε ένα συγκεκριμένο block.

Η εσοχή γίνεται με τη χρήση κενών διαστημάτων ή tab. Κάθε δήλωση που βρίσκεται στην ίδια εσοχή θεωρείται ότι ανήκει στο ίδιο block. Η εσοχή χρησιμοποιείται και στις δομές ελέγχου όπως το if, for, while, καθώς και στον ορισμό συναρτήσεων και κλάσεων.

Η συντακτική συμβολήτα της Python προωθεί την καλή ανάγνωση και οργάνωση του κώδικα, καθώς η εσοχή αντικαθιστά την ανάγκη για περιττά σύμβολα και διαχωριστικά, παρέχοντας έναν καθαρότερο και πιο απλό τρόπο γραφής του κώδικα.

Στην Python, ο κώδικας ομαδοποιείται με βάση την εσοχή του. Αυτό σημαίνει ότι όλες οι δηλώσεις που ανήκουν στο ίδιο τμήμα κώδικα πρέπει να έχουν το ίδιο επίπεδο εσοχής. Ένας τρόπος να διαπιστώσετε αν δύο δηλώσεις ανήκουν στο ίδιο τμήμα κώδικα είναι να ελέγξετε αν έχουν το ίδιο επίπεδο εσοχής.

Για παράδειγμα, σκεφτείτε τον παρακάτω κώδικα:

if condition:
    statement1
    statement2
    statement3
statement4

Στο παραπάνω παράδειγμα, οι statement1, statement2 και statement3 έχουν το ίδιο επίπεδο εσοχής, επομένως ανήκουν στο ίδιο τμήμα κώδικα. Από την άλλη πλευρά, η statement4 έχει διαφορετικό επίπεδο εσοχής, οπότε ανήκει σε διαφορετικό τμήμα κώδικα.

Η εσοχή είναι σημαντική στην Python για την οργάνωση του κώδικα και τη διασφάλιση της σωστής εκτέλεσης των δηλώσεων. Πρέπει να προσέχετε να διατηρείτε το σωστό επίπεδο εσοχής κατά τη συγγραφή του κώδικα σας.

Εάν η εσοχή στον κώδικα δεν είναι σωστή, τότε θα προκληθεί ένα σφάλμα τύπου IndentationError. Αυτό σημαίνει ότι η Python θα εκδώσει ένα μήνυμα λάθους κατά τη διάρκεια της εκτέλεσης του προγράμματος.

Για παράδειγμα, σκεφτείτε τον παρακάτω κώδικα:

if condition:
    statement1
  statement2
    statement3

[adinserter block=”2″]

Στο παραπάνω παράδειγμα, η εσοχή της statement2 δεν είναι σωστή. Αναμένεται να υπάρχει το ίδιο επίπεδο εσοχής με τις υπόλοιπες δηλώσεις που ανήκουν στο ίδιο τμήμα κώδικα. Ωστόσο, η statement2 έχει μια παραπάνω εσοχή, που είναι μη αποδεκτή.

Όταν παρουσιαστεί ένα τέτοιο σφάλμα εσοχής, θα πρέπει να ελέγξετε τη σωστή τοποθέτηση των κενών διαστημάτων ή των στοιχείων εσοχής (όπως τα κενά ή τα tabs) για να διορθώσετε το πρόβλημα.

Η λέξη-κλειδί elif στην Python χρησιμοποιείται για να ελέγξετε πολλαπλές συνθήκες μέσα σε ένα if statement. Όταν οι προηγούμενες συνθήκες του if δεν ικανοποιούνται, τότε εκτελείται ο έλεγχος της επόμενης συνθήκης με τη χρήση του elif.

Με τη χρήση του elif, μπορείτε να ελέγξετε διαδοχικά πολλές συνθήκες και να εκτελέσετε τον κατάλληλο κώδικα για την πρώτη συνθήκη που ικανοποιείται. Αν καμία από τις συνθήκες δεν ικανοποιείται, τότε μπορείτε να προσθέσετε ένα τελευταίο else block για να εκτελεστεί κώδικας όταν καμία από τις προηγούμενες συνθήκες δεν ισχύει.

Ο σωστός τρόπος χρήσης του elif είναι:

if condition1:
    # Κώδικας όταν η condition1 είναι αληθής
elif condition2:
    # Κώδικας όταν η condition1 είναι ψευδής και η condition2 είναι αληθής
elif condition3:
    # Κώδικας όταν η condition1 και η condition2 είναι ψευδείς και η condition3 είναι αληθής
else:
    # Κώδικας όταν καμία από τις προηγούμενες συνθήκες δεν είναι αληθείς

Οι συνθήκες ελέγχονται διαδοχικά, και μόνο η πρώτη που ικανοποιείται εκτελείται. Όλες οι υπόλοιπες συνθήκες παραλείπονται. Αυτό εξασφαλίζει ότι ο κώδικας εκτελείται μόνο για την πρώτη ικανοποιημένη συνθήκη και εξοικονομεί χρόνο και πόρους εκτέλεσης.

Παρακάτω φαίνεται ένα παράδειγμα if statement με πολλά elif clauses:

x = 10  # Αρχικοποίηση της μεταβλητής x με την τιμή 10

# Έλεγχος της τιμής της μεταβλητής x με τη χρήση συνθηκών
if x < 0:
    print("Το x είναι αρνητικό")  # Εκτύπωση μηνύματος "Το x είναι αρνητικό" αν το x είναι αρνητικό
elif x == 0:
    print("Το x είναι μηδέν")  # Εκτύπωση μηνύματος "Το x είναι μηδέν" αν το x είναι μηδέν
elif x > 0 and x < 10:
    print("Το x είναι ένας θετικός αριθμός με μία ψηφίο")  # Εκτύπωση μηνύματος "Το x είναι ένας θετικός αριθμός με μία ψηφίο" αν το x είναι θετικός αριθμός με μία ψηφίο
else:
    print("Το x είναι ένας θετικός αριθμός μεγαλύτερος από 10")  # Εκτύπωση μηνύματος "Το x είναι ένας θετικός αριθμός μεγαλύτερος από 10" αν το x είναι θετικός αριθμός μεγαλύτερος από 10

Σε αυτό το παράδειγμα, η μεταβλητή x είναι ορισμένη με την τιμή 10. Ο κώδικας ελέγχει την τιμή της x χρησιμοποιώντας μια σειρά από συνθήκες.

  • Αν η τιμή της x είναι αρνητική (μικρότερη του 0), τότε εκτυπώνεται το μήνυμα “Το x είναι αρνητικό”.
  • Αν η τιμή της x είναι μηδέν, τότε εκτυπώνεται το μήνυμα “Το x είναι μηδέν”.
  • Αν η τιμή της x είναι θετική (μεγαλύτερη του 0) και μικρότερη του 10, τότε εκτυπώνεται το μήνυμα “Το x είναι ένας θετικός αριθμός με μία ψηφίο”.
  • Σε όλες τις υπόλοιπες περιπτώσεις, δηλαδή αν η τιμή της x είναι θετική και μεγαλύτερη ή ίση με 10, εκτυπώνεται το μήνυμα “Το x είναι ένας θετικός αριθμός μεγαλύτερος από 10”.

Είναι σημαντικό να σημειώσουμε ότι ένα if statement μπορεί να έχει κανένα ή περισσότερα elif clauses για να ελέγξει πολλαπλές συνθήκες. Ωστόσο, μπορεί να έχει μόνο ένα else clause, το οποίο πρέπει να τοποθετηθεί στο τέλος του statement, αν υπάρχει. Το else clause εκτελείται όταν καμία από οι προηγούμενες συνθήκες δεν ικανοποιείται.

Η σειρά των συνθηκών στο if statement είναι σημαντική. Η πρώτη αληθής συνθήκη που αντιστοιχεί εκτελείται και οι υπόλοιπες αγνοούνται. Για αυτό τον λόγο, είναι σημαντικό να τοποθετείτε τις πιο συγκεκριμένες συνθήκες προς την κορυφή του if statement, ενώ οι πιο γενικές συνθήκες τοποθετούνται προς το τέλος. Έτσι, δίνεται προτεραιότητα στην εκτέλεση των πιο συγκεκριμένων συνθηκών πριν από τις γενικότερες συνθήκες.

Στην Python, το “else” είναι μια λέξη-κλειδί που χρησιμοποιείται για να ορίσει ένα τμήμα κώδικα που θα εκτελεστεί όταν καμία από τις προηγούμενες συνθήκες δεν ικανοποιείται.

Μπορούμε να τοποθετήσουμε το “else” μετά από ένα “if” ή ένα “elif” block και να ορίσουμε τις εντολές που θα εκτελεστούν στην περίπτωση που η συνθήκη είναι ψευδής. Αυτή η δομή μας επιτρέπει να αντιδράσουμε σε όλες τις πιθανές περιπτώσεις ελέγχοντας την τελευταία εναλλακτική επιλογή.

Παράδειγμα:

x = 5  # Αρχικοποίηση της μεταβλητής x με την τιμή 5

# Έλεγχος της συνθήκης x > 10
if x > 10:
    print("Ο αριθμός είναι μεγαλύτερος από 10")
    
# Έλεγχος της συνθήκης x > 5
elif x > 5:
    print("Ο αριθμός είναι μεγαλύτερος από 5")
    
# Περίπτωση που η συνθήκη x > 10 και η συνθήκη x > 5 δεν ισχύουν
else:
    print("Ο αριθμός είναι μικρότερος ή ίσος του 5")

Ο παραπάνω κώδικας εκτελεί μια σειρά από ελέγχους σε μια μεταβλητή x και εκτυπώνει ανάλογα με το αποτέλεσμα των ελέγχων.

Αν η τιμή της μεταβλητής x είναι μεγαλύτερη από 10, τότε εκτυπώνεται το μήνυμα “Ο αριθμός είναι μεγαλύτερος από 10”.

Αν η τιμή της μεταβλητής x δεν είναι μεγαλύτερη από 10, αλλά είναι μεγαλύτερη από 5, τότε εκτυπώνεται το μήνυμα “Ο αριθμός είναι μεγαλύτερος από 5”.

Αν και οι παραπάνω δύο συνθήκες δεν ισχύουν, τότε εκτελείται η εντολή που βρίσκεται στο μπλοκ else και εκτυπώνεται το μήνυμα “Ο αριθμός είναι μικρότερος ή ίσος του 5”.

Συνολικά, ο κώδικας ελέγχει την τιμή της μεταβλητής x και εκτελεί διαφορετικές ενέργειες ανάλογα με το αποτέλεσμα των ελέγχων.

Παρακάτω είναι ένα παράδειγμα if statement με πολλές συνθήκες elif και μια συνθήκη else:

x = 20  # Αρχικοποίηση της μεταβλητής x με την τιμή 20

# Έλεγχος της τιμής της μεταβλητής x
if x < 0:
    print("Το x είναι αρνητικός")  # Εκτύπωση μηνύματος "Το x είναι αρνητικός" αν η τιμή του x είναι αρνητική
elif x == 0:
    print("Το x είναι μηδέν")  # Εκτύπωση μηνύματος "Το x είναι μηδέν" αν η τιμή του x είναι μηδέν
elif x > 0 and x < 10:
    print("Το x είναι θετικός αριθμός με μία ψηφίο")  # Εκτύπωση μηνύματος "Το x είναι θετικός αριθμός με μία ψηφίο" αν η τιμή του x είναι θετική και έχει ένα ψηφίο
elif x >= 10 and x < 20:
    print("Το x είναι θετικός αριθμός με δύο ψηφία")  # Εκτύπωση μηνύματος "Το x είναι θετικός αριθμός με δύο ψηφία" αν η τιμή του x είναι θετική και έχει δύο ψηφία
else:
    print("Το x είναι ένας θετικός αριθμός μεγαλύτερος ή ίσος του 20")  # Εκτύπωση μηνύματος "Το x είναι ένας θετικός αριθμός μεγαλύτερος ή ίσος του 20" αν η τιμή του x είναι μεγαλύτερη ή ίση του 20

Ο παραπάνω κώδικας εκτελεί τις ακόλουθες ενέργειες:

  1. Ορίζει τη μεταβλητή x με την τιμή 20.
  2. Ελέγχει την τιμή της μεταβλητής x χρησιμοποιώντας τη δομή if-elif-else.
  3. Αν η τιμή της μεταβλητής x είναι αρνητική (λιγότερη από 0), τότε εκτυπώνει το μήνυμα “Το x είναι αρνητικός”.
  4. Αλλιώς, αν η τιμή της μεταβλητής x είναι μηδέν, τότε εκτυπώνει το μήνυμα “Το x είναι μηδέν”.
  5. Αλλιώς, αν η τιμή της μεταβλητής x είναι θετική και έχει ένα ψηφίο (μικρότερη από 10), τότε εκτυπώνει το μήνυμα “Το x είναι θετικός αριθμός με μία ψηφίο”.
  6. Αλλιώς, αν η τιμή της μεταβλητής x είναι θετική και έχει δύο ψηφία (μεγαλύτερη ή ίση του 10 και μικρότερη από 20), τότε εκτυπώνει το μήνυμα “Το x είναι θετικός αριθμός με δύο ψηφία”.
  7. Αλλιώς, για οποιαδήποτε άλλη περίπτωση, εκτυπώνει το μήνυμα “Το x είναι ένας θετικός αριθμός μεγαλύτερος ή ίσος του 20”.

Η εκτέλεση του κώδικα θα εκτυπώσει το μήνυμα “Το x είναι ένας θετικός αριθμός μεγαλύτερος ή ίσος του 20”, καθώς η τιμή της μεταβλητής x είναι 20.

[adinserter block=”3″]

Το “short hand if” είναι μια σύντομη μορφή του if statement που επιτρέπει να εκτελεστεί μία εντολή αν η συνθήκη είναι αληθής. Η σύνταξη του “short hand if” είναι η εξής:

[εντολή] if [συνθήκη] else [άλλη εντολή]

Η εντολή αριστερά του if θα εκτελεστεί αν η συνθήκη είναι αληθής, ενώ η εντολή δεξιά του else θα εκτελεστεί αν η συνθήκη είναι ψευδής. Αυτή η μορφή είναι πολύ βολική για την εκτέλεση μίας απλής εντολής ανάλογα με την τιμή μιας συνθήκης.

Ένα παράδειγμα χρήσης του “short hand if” είναι το εξής:

x = 5  # Αρχικοποίηση της μεταβλητής x με την τιμή 5

# Έλεγχος συνθήκης: x > 3
# Αν η συνθήκη είναι αληθής, αποθηκεύεται το μήνυμα "Το x είναι μεγαλύτερο από 3" στη μεταβλητή message
# Αν η συνθήκη είναι ψευδής, αποθηκεύεται το μήνυμα "Το x είναι μικρότερο ή ίσο με 3" στη μεταβλητή message
message = "Το x είναι μεγαλύτερο από 3" if x > 3 else "Το x είναι μικρότερο ή ίσο με 3"

print(message)  # Εκτύπωση της μεταβλητής message που περιέχει το αντίστοιχο μήνυμα ανάλογα με τη συνθήκη

Σε αυτό το παράδειγμα, αν η τιμή της μεταβλητής x είναι μεγαλύτερη από 3, τότε η μεταβλητή message θα πάρει την τιμή “Το x είναι μεγαλύτερο από 3”. Αν η τιμή της x είναι μικρότερη ή ίση με 3, τότε η message θα πάρει την τιμή “Το x είναι μικρότερο ή ίσο με 3”. Στη συνέχεια, η message εκτυπώνεται και εμφανίζεται ένα από τα δύο μηνύματα ανάλογα με την τιμή της x.

Πρέπει να προσέξετε ότι αν έχετε περισσότερες από μία εντολές, δεν μπορείτε να χρησιμοποιήσετε το “short hand if” που αναφέρθηκε προηγουμένως. Σε αυτήν την περίπτωση, πρέπει να χρησιμοποιήσετε την κανονική δομή if με σωστή στοίχιση για να περικλείσετε τις εντολές που ανήκουν σε κάθε περίπτωση.

Η σύνταξη “short hand if … else” στην Python αναφέρεται στη συντομογραφία της δομής if … else. Χρησιμοποιείται όταν έχετε μια συνθήκη και θέλετε να εκτελέσετε μια εντολή αν η συνθήκη είναι αληθής και μια διαφορετική εντολή αν η συνθήκη είναι ψευδής. Αυτή η συντομογραφία είναι πολύ χρήσιμη για απλές περιπτώσεις, όπου ο κώδικας που πρέπει να εκτελεστεί είναι μια μόνο εντολή για κάθε περίπτωση.

Η σύνταξη του “short hand if … else” στην Python είναι η εξής:

[expression_if_true] if [condition] else [expression_if_false]

Αυτή η σύνταξη επιτρέπει την εκτέλεση μιας εντολής αν η συνθήκη είναι αληθής (expression_if_true) και μιας διαφορετικής εντολής αν η συνθήκη είναι ψευδής (expression_if_false). Είναι μια συντομευμένη μορφή της δομής if … else και χρησιμοποιείται κυρίως για απλές περιπτώσεις όπου ο κώδικας είναι σύντομος.

Παρακάτω είναι ένα παράδειγμα του “short hand if … else”:

x = 5  # Αρχικοποίηση της μεταβλητής x με την τιμή 5

# Έλεγχος της τιμής της μεταβλητής x
# Αν η τιμή είναι μεγαλύτερη από 0, τότε εκτελείται η πρώτη εντολή (εκτύπωση "x είναι θετικός")
# Αλλιώς, εκτελείται η δεύτερη εντολή (εκτύπωση "x είναι μηδέν ή αρνητικός")
print("x είναι θετικός") if x > 0 else print("x είναι μηδέν ή αρνητικός")

Ο παραπάνω κώδικας ελέγχει την τιμή της μεταβλητής x και εκτελεί μια ενέργεια ανάλογα με το αποτέλεσμα του ελέγχου.

Αν η τιμή της μεταβλητής x είναι μεγαλύτερη από 0, τότε εκτελείται η πρώτη εντολή, που είναι η εκτύπωση του μηνύματος “x είναι θετικός”.

Αν η τιμή της μεταβλητής x δεν είναι μεγαλύτερη από 0, δηλαδή είναι μηδέν ή αρνητική, τότε εκτελείται η δεύτερη εντολή, που είναι η εκτύπωση του μηνύματος “x είναι μηδέν ή αρνητικός”.

Έτσι, ο κώδικας εκτυπώνει ανάλογα με την τιμή της μεταβλητής x το αντίστοιχο μήνυμα στην οθόνη.

Στην Python, μπορείτε να χρησιμοποιήσετε τη σύνταξη “short hand if … else” για να έχετε πολλαπλές δηλώσεις else στην ίδια γραμμή. Η σύνταξη αυτή επιτρέπει τη συνενώση πολλαπλών δηλώσεων else μετά από μια συνθήκη.

Αν θέλετε να έχετε περισσότερες από δύο δηλώσεις else, μπορείτε να χρησιμοποιήσετε τη σύνταξη ελέγχου if … elif … else. Η δήλωση elif συντομογραφεί τη λέξη “else if” και μπορείτε να τη χρησιμοποιήσετε για να ελέγξετε περισσότερες από δύο πιθανές συνθήκες.

Η σύνταξη του “short-hand if…else” με πολλαπλές δηλώσεις else είναι η εξής:

value = x if condition else y

Σε αυτήν την σύνταξη, η μεταβλητή value λαμβάνει την τιμή της x αν η condition είναι αληθής, διαφορετικά λαμβάνει την τιμή της y. Αυτή η σύνταξη επιτρέπει την εκχώρηση τιμής σε μία μεταβλητή με βάση μια συνθήκη, με λιγότερες γραμμές κώδικα από την πλήρη χρήση του if…else statement.

Παρακάτω παρατίθεται ένα παράδειγμα της “συντόμευσης if … else” με πολλαπλές δηλώσεις else:

x = 5

# Χρησιμοποίηση της συντόμευσης if ... else με πολλαπλές δηλώσεις else
# Αν η συνθήκη είναι αληθής, εκτελείται η πρώτη εντολή (εκτύπωση "x είναι θετικός")
# Αν η πρώτη συνθήκη είναι ψευδής και η δεύτερη συνθήκη είναι αληθής, εκτελείται η δεύτερη εντολή (εκτύπωση "x είναι μηδέν")
# Αν και οι δύο συνθήκες είναι ψευδείς, εκτελείται η τρίτη εντολή (εκτύπωση "x είναι αρνητικός")
print("x είναι θετικός") if x > 0 else print("x είναι μηδέν") if x == 0 else print("x είναι αρνητικός")

Ο κώδικας ελέγχει την τιμή της μεταβλητής x και εκτελεί ανάλογα μία από τις τρεις εντολές εξόδου:

  1. Αν η τιμή της μεταβλητής x είναι μεγαλύτερη από το μηδέν (x > 0), τότε εκτελείται η εντολή print("x είναι θετικός"), που εκτυπώνει το μήνυμα “x είναι θετικός”.
  2. Αν η τιμή της μεταβλητής x είναι ίση με το μηδέν (x == 0), τότε εκτελείται η εντολή print("x είναι μηδέν"), που εκτυπώνει το μήνυμα “x είναι μηδέν”.
  3. Αν οι παραπάνω συνθήκες δεν ικανοποιούνται, τότε εκτελείται η εντολή print("x είναι αρνητικός"), που εκτυπώνει το μήνυμα “x είναι αρνητικός”.

Έτσι, ανάλογα με την τιμή της μεταβλητής x, εκτυπώνεται στην οθόνη το αντίστοιχο μήνυμα.

5 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων