PYTHON - ΕΝΟΤΗΤΑ 8 – The if Statement

Στην σημερινή ενότητα θα δώσουμε την δυνατότητα στον πρόγραμμα μας να εκτελεί συγκεκριμένο κώδικα με βάση το αποτέλεσμα που προέρχεται από κάποια συνθήκη. Με άλλα λόγια το πρόγραμμα μας θα μπορεί να παίρνει αποφάσεις για το ποιο μέρος του κώδικα χρειάζεται να εκτελεστεί έχοντας περισσότερες από μια επιλογές. 
 Πριν όμως προχωρήσουμε σε αυτό το θέμα, ας μιλήσουμε για ακόμα ένα θέμα που αφορά τις μεταβλητές και είναι το πως ορίζουμε constant variables στην Python.

Σκεφτείτε ότι έχουμε μια απλή πράξη που υπολογίζει το φόρο σε οποιοδήποτε ποσό δώσουμε στην συνάρτηση

tax_amount = amount * 0.014

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

TAX_RATE = 0.069
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








Archive

Contact Form

Send