PYTHON - ΕΝΟΤΗΤΑ 8 – The if Statement
Στην σημερινή ενότητα
θα δώσουμε την δυνατότητα στον πρόγραμμα
μας να εκτελεί συγκεκριμένο κώδικα με
βάση το αποτέλεσμα που προέρχεται από
κάποια συνθήκη. Με άλλα λόγια το πρόγραμμα
μας θα μπορεί να παίρνει αποφάσεις για
το ποιο μέρος του κώδικα χρειάζεται να
εκτελεστεί έχοντας περισσότερες από
μια επιλογές.
Σκεφτείτε ότι έχουμε
μια απλή πράξη που υπολογίζει το φόρο
σε οποιοδήποτε ποσό δώσουμε στην
συνάρτηση
Όπως καταλαβαίνετε, ο
αριθμός 0.014 είναι εκείνος που υπολογίζει
τον φόρο και συνήθως δεν αλλάζει πολύ
συχνά αλλά ταυτόχρονα θα χρησιμοποιηθεί
σε πολλά σημεία μέσα στον κώδικα. Για
να μειώσουμε την πιθανότητα λάθους,
συνήθως ορίζουμε τέτοιους αριθμούς σαν
σταθερές έτσι ώστε να μην μπορεί να
αλλάξει ο αριθμός από τυπογραφικό λάθος
όταν χρησιμοποιείται μέσα στον κώδικα.
Ο τρόπος που διαθέτει η Python
για να ορίζουμε κάποια τιμή σαν
σταθερά είναι να την αναθέσουμε σε μια
μεταβλητή όπου το όνομα της μεταβλητής
θα είναι κεφαλαία.
tax_amount = amount * TAX_RATE
Η τιμή της μεταβλητής
TAX_RATE θα παραμείνει σταθερή
και δεν θα μπορούμε να αναθέσουμε
καινούργια τιμή στην μεταβλητή. Με αυτό
τον τρόπο διασφαλίζουμε ότι κλειδώνουμε
την τιμή για όσο θέλουμε να παραμείνει
η ίδια.
Αφού κλείσαμε και το
τελευταίο θέμα που μας είχε απομείνει
όσο αφορά τις μεταβλητές, μπορούμε να
προχωρήσουμε στην ανάλυση του if
statement. Όπως πάντα ο πιο εύκολος τρόπος
είναι να δούμε ένα παράδειγμα και μετά
να το αναλύσουμε.
Το απλό πρόγραμμα μας
ορίζει μια αρχική τιμή 95 για την μεταβλητή
HIGH_SCORE. Μετά ζητάμε από
τον χρήστη να εισάγει τρεις τιμές, μια
και κάθε test. Αφού κάνουμε
έναν απλό υπολογισμό για να βρούμε τον
μέσο όρο, εκτυπώνουμε τον αριθμό στην
οθόνη του χρήστη.
Αμέσως μετά ακολουθεί
ένα if statement το οποίο
αποτελείται από την λέξη κλειδί if
και μια συνθήκη. Στο πρώτο if,
η συνθήκη ελέγχει αν η τιμή της
μεταβλητής average είναι
μεγαλύτερη από την τιμή της μεταβλητής
HIGH_SCORE. Αν είναι, δηλαδή
αν το αποτέλεσμα της συνθήκης είναι
True, τότε η Python
θα εκτυπώσει τις δύο επόμενες print
statements που ακολουθούν. Αν όχι τότε
θα τις αγνοήσει και θα συνεχίσει με τον
υπόλοιπο κώδικα. Στο συγκεκριμένο
παράδειγμα που αναλύουμε, η average
δεν έχει μεγαλύτερη τιμή από την
HIGH_SCORE οπότε ο κώδικας που
ανήκει στην if δεν θα
εκτελεστεί.
Το δεύτερο if
ελέγχει αν η τιμή της average
είναι ίση με εκείνη της HIGH_SCORE.
Επειδή είναι , το αποτέλεσμα της
συνθήκης είναι True οπότε
η Python θα εκτελέσει τις
print statements που ανήκουν στο
if.
Πριν κλείσουμε, αξίζει
να παρατηρήσουμε λίγο τα σύμβολα που
χρησιμοποιούνται για να οριστεί μια
συνθήκη. Αυτά ονομάζονται Relational
Operators και σκοπός τους είναι να μας
προσφέρουν όλες τις δυνατές πιθανότητες
σύγκρισης που μπορούμε να έχουμε ανάμεσα
σε δύο μεταβλητές. Προσέξτε λίγο και το
διπλό σύμβολο της ισότητας ( == ) που
συμβολίζει αλγεβρική ανάθεση τιμών,
και το σύμβολο της ανισότητας ( != ). Ο πιο
κάτω πίνακας σας δίνει όλα τα
relational operators που είναι διαθέσιμα στην
Python.
Μιχάλης Κασάπογλου
Michail.Kassapoglou@gmail.com