ΕΙΣΑΓΩΓΗ
Όπως όλες οι γλώσσες προγραμματισμού, έτσι και η Python μας δίνει την
δυνατότητα να γράψουμε κώδικα που αποφασίζει από μόνος του για την ροή
εκτέλεσης του προγράμματος βασιζόμενο σε κάποιες συνθήκες που έχουμε δηλώσει.
Στο σημερινό δωρεάν μάθημα Python, θα αναλύσουμε την σύνταξη και την σωστή
χρήση των if-else statements και
πως αυτά συνδυάζονται με τα logical operators.
If Statement
Μέχρι τώρα όλος ο κώδικας Python που γράφαμε έτρεχε γραμμή προς γραμμή
από πάνω προς τα κάτω. Πολλές φορές όμως χρειαζόμαστε να τρέξουμε ένα
συγκεκριμένο γκρουπ γραμμών κώδικα ενώ ταυτόχρονα να παραβλέψουμε κάποιο άλλο γκρουπ
κώδικα. Η ικανότητα να εκτελούμε ένα συγκεκριμένο μέρος του κώδικα με βάση
κάποια συνθήκη μπορεί να προστεθεί στην λογική του προγράμματος μας αν
χρησιμοποιήσουμε control statements και
πιο συγκεκριμένα if και elif statements.
Ας ξεκινήσουμε πρώτα με την χρήση των if statements μέσα
από ένα απλό παράδειγμα.
app.py
Output
Στο παραπάνω παράδειγμα ζητάμε από τον χρήστη να εισάγει
τα γκολ που ένας παίχτης ποδοσφαίρου έχει βάλει σε κάθε έναν από τους τρεις
τελευταίους αγώνες που έχει παίξει. Αφού διαβάσουμε τα δεδομένα και τα
μετατρέψουμε σε integer με
την χρήση του int( ) function, τότε εκτελούμε
μια απλή πράξη για να βρούμε τον μέσο όρο των γκολ που έχει βάλει ο παίχτης και
αμέσως μετά δείχνουμε στο terminal ποιος είναι ο αριθμός.
Αμέσως μετά ακολουθεί ένα if statement το οποίο αν είναι true (δηλαδή αν ο
μέσος όρος είναι μεγαλύτερος ή ίσος από την τιμή της μεταβλητής PERFORMANCE) τότε θα
προστεθούν ακόμα δύο μηνύματα στο τελικό αποτέλεσμα. Αν όμως η τιμή της συνθήκης
δεν είναι true (δηλαδή
η τιμή του average_goals είναι μικρότερη
από το PERFORMANCE) τότε
τα δύο print μηνύματα
δεν θα εμφανιστούν στο terminal γιατί ο κώδικας που ακολουθεί το if δεν θα εκτελεστεί.
Κάθε if statement ξεκινάει με τη λέξη κλειδί if και αμέσως μετά
ακολουθεί μια συνθήκη. Εάν η συνθήκη είναι True τότε θα
εκτελεστεί ο κώδικας που ανήκει στο if, ειδάλλως εάν η συνθήκη είναι False τότε θα αγνοηθεί
αυτό το μέρος του κώδικα. Όμως η ερώτηση που σίγουρα έχετε στο μυαλό σας είναι «πως
αναγνωρίζουμε τον κώδικα που ανήκει στο if”?
Εδώ λοιπόν παίζει σημαντικό ρόλο το κενό που έχουμε
αφήσει στην γραμμή του print( ) που
είναι γραμμένο κάτω από το if statement. Συνήθως
το κενό το δημιουργούμε πατώντας το tab στο πληκτρολόγιο μας έτσι ώστε αν γράψουμε
πολλαπλές γραμμές κώδικα κάτω από το if να είναι όλες στοιχισμένες για να τις ξεχωρίζει
εύκολα ο compiler της
Python. Εάν
δεν αφήσετε το κενό, τότε ο compiler της Python θα παραπονεθεί ότι δεν αναγνωρίζει την εντολή και το
πρόγραμμα μας δεν θα εκτελεστεί. Τέλος, το if statement ολοκληρώνεται με την προσθήκη των colons ( : ) αμέσως
μετά την συνθήκη.
Δεν θα πρέπει να σας απασχολεί τόσο πολύ το γεγονός ότι
θα πρέπει να προσέχετε για τα κενά που θα πρέπει να αφήνετε από την αρχή της γραμμής
στα if statements, γιατί κάθε
μοντέρνο IDE (όπως
και το Visual Studio Code) όταν γράφετε ένα if statement μεταφέρει τον cursor στην επόμενη
γραμμή στο σωστό διάστημα.
Comparison Operators
Τα σύμβολα που χρησιμοποιούμε για να ορίσουμε την συνθήκη
του if ονομάζονται
comparison operators. Αυτά τα
σύμβολα μας επιτρέπουν να κάνουμε συγκρίσεις όπως εάν ένας αριθμός είναι
μεγαλύτερος από έναν άλλο ή ένας χαρακτήρας είναι διαφορετικός από κάποιον
άλλο.
Προσέξτε στους comparison operators όταν ζητάτε την ισότητα ανάμεσα σε δύο
αριθμούς. Για την ισότητα οι comparison operators χρησιμοποιούν το διπλό σύμβολο ( == ).
Εδώ ψάχνουμε αλγεβρική ισότητα ανάμεσα σε δύο αριθμούς, ενώ το μονό σύμβολο ( =
), όπως το χρησιμοποιούμε στις μεταβλητές, σημαίνει ανάθεση τιμής σε μια
μεταβλητή.
app.py
Output
If-else Statement
Ο κώδικας στο πρώτο παράδειγμα με το if statement που είδαμε είναι η πιο απλή μορφή του
if στην
οποία ένα γκρουπ γραμμών κώδικα είτε θα εκτελεστούν είτε όχι. Όμως, μια πιο συνηθισμένη
προσέγγιση, είναι να γράφουμε το πρόγραμμα μας με τέτοιο τρόπο ώστε να επιλέξει
ανάμεσα σε πολλαπλές επιλογές και τελικά να δώσει μια τελική ροή στην εκτέλεση
του κώδικα. Αυτή την δυνατότητα την αποκτάει το if statement όταν συνδυαστεί με το else.
app.py
Output
Στον παραπάνω κώδικα, ζητάμε αναγκαστικά το πρόγραμμα να μας
δώσει μια απάντηση με βάση την συνθήκη που του έχουμε ορίσει. Αν η συνθήκη δεν
είναι true τότε
θα εκτελεστεί ο κώδικας που ανήκει στο else. Με αυτό το τρόπο είτε η συνθήκη είναι true είτε false θα πάρουμε απάντηση
από το πρόγραμμα μας.
elif Statements
Μπορούμε να έχουμε και περισσότερες από δύο επιλογές απλά
προσθέτοντας πολλαπλά if-else statements. Μάλιστα η Python μας επιτρέπει να
γράφουμε αυτό τον συνδυασμό σαν elif για εξοικονόμηση κώδικα.
Output
Στο παραπάνω παράδειγμα πρέπει να προσέξουμε τη σημαντική
χρήση του τελευταίου else. Σαν
λογική, το πρόγραμμα μας δεν ενδιαφέρεται για όλους τους αριθμούς αλλά μόνο για
εκείνους που είναι μεγαλύτεροι από τον αριθμό 69. Για οποιονδήποτε άλλο αριθμό
μικρότερο του 69 θα αναθέτει το γράμμα F στη μεταβλητή letter. Με αυτό το
τρόπο δεν αφήνουμε το πρόγραμμα να μας ξεφύγει από τη λογική που θέλουμε να
υλοποιήσουμε και ταυτόχρονα καλύπτουμε όλες τις πιθανές περιπτώσεις αριθμών.
Conditional Operators
Με τα logical operators μπορούμε
να συνδυάσουμε περισσότερες από μια συνθήκη στο if statement.
Υπάρχουν τρία logical operators που
διαθέτει η Python: and, or, και not. Ας δούμε ένα
παράδειγμα για το κάθε ένα logical operator για
καταλάβετε ακριβώς πως χρησιμοποιούνται. Ένας γρήγορος ορισμός, σε περίπτωση
που δεν το γνωρίζετε, το and απαιτεί και οι δύο όροι του να είναι true για να επιστρέψει true, το or απλά ζητάει ένας από τους
δύο όρους του τουλάχιστον να είναι true για να μας επιστρέψει true, και τέλος το not απλά αντιστρέφει
την απάντηση π.χ από true σε false.
Στο παρακάτω παράδειγμα, θα πρέπει και οι δύο συνθήκες για
να μπορεί ο πελάτης να εγκριθεί για το δάνειο.
app.py
Output
Ας αλλάξουμε το παραπάνω κώδικα και αντί για and ας χρησιμοποιήσουμε
or. Για να
εγκριθεί το δάνειο θα πρέπει είτε ο πελάτης να έχει μισθό μεγαλύτερο από 30000
ή να έχει προϋπηρεσία πάνω από 2 χρόνια.
app.py
Output
Όσο αφορά το not logical operator ας
δούμε ένα παράδειγμα στο οποίο ζητάμε την αντίστροφη κατάσταση από εκείνη στην
οποία βρίσκεται η Boolean συνθήκη.
app.py
Output
Review Example
Πριν κλείσουμε το σημερινό δωρεάν μάθημα Python, ας δούμε ένα
ολοκληρωμένο πρόγραμμα που βασικά χρησιμοποιεί όλη την θεωρία που έχουμε μάθει
μέχρι αυτό το σημείο. Το πρόγραμμα ζητάει από τον χρήστη να επιλέξει αρχικά τι
είδος αριθμητική πράξη θα ήθελε να πραγματοποιήσει. Αμέσως μετά θα ζητήσει δύο
αριθμούς τους οποίους θα χρησιμοποιήσει στην αριθμητική πράξη που έχουμε
επιλέξει στο πρώτο βήμα.
app.py
Output
Μην ξεχάσετε να κάνετε ένα μικρό donation έτσι
ώστε αυτό το site να
μεγαλώσει ακόμα πιο πολύ και να αποκτήσει περισσότερες δυνατότητες online παράδοσης δωρεάν
μαθημάτων.
full-width
0 Comments
Η γνώμη σας είναι σημαντική.