Αφήνοντας στην άκρη το shell, ας δούμε πάλι το if.
Η γενκή σύνταξη είναι η ακόλουθη
if συνθήκη:
κώδικας που εκτελείτα μόνο αν η συνθήκη είναι αληθής (κώδικας1)
else:
κώδικας που εκτελείτα μόνο αν η συνθήκη είναι ψευδής (κώδικας2)
Δηλαδή κάθε φορά θα εκτελεστεί ΜΟΝΟ ο κώδικας1 ή ΜΟΝΟ ο κώδικας2. ΠΟΤΕ και οι δύο μαζί.
Παρένθεση. Ο κώδικας1 και ο κώδικας2 μπορούν να είναι πολλές γραμμές οι οποίες όμως θα έχουν όλες την ίδια στοίχηση. Δεν είναι υποχρεωτικό να είναι μία. Εδώ βάζω μία για να κρατήσω απλό το παράδειγμα.
Ας το δούμε και στην πράξη. Εστω ότι θέλεις να υπολογίσεις τον φόρο που θα πληρώσει κάποιος και έστω ότι για εισοδήματα από 25000 και πάνω ο φόρος είναι 25% ενώ για χαμηλότερα είναι 15% (λέμε τώρα
)
Άρα λοιπόν, πρέπει να έχεις τη μεταβλητή "eisodima" και να συγκρίνεις την τιμή της με τις 25000. Αν είναι μεγαλύτερη τότε για να βρεις το ποσό του φόρου πολλαπλασιάζεις με 25% ενώ αν είναι μικρότερη πολλαπλασιάζεις με 15%.
Η σύγκριση της τιμής είναι η "συνθήκη" που λέγαμε προηγουμένως. Ο πολλαπλασιασμός με τον 0.25 είναι ο κώδικας που εκτελείται μόνο αν η συνθήκη είναι αληθής (κώδικας1) και ο πολ/σμός με το 0.15 είναι ο κώδικας που εκτελείται μόνο αν η συνθήκη είναι ψευδής (κώδικας2). Ας το μετατρέψουμε αυτό και σε κώδικα:
eisodima = 30000
if eisodima >= 25000:
foros = eisodima * 0.25
else:
foros = eisodima * 0.15
print("O foros einai %d" % foros)
Όταν θα τρέξεις το παραπάνω παράδειγμα, αρχικά θα γίνει η σύγκριση της τιμής του "eisodimatos" με τις 25000. Επειδή η τιμή του "eisodimatos" είναι 30000 που είναι μεγαλύτερο από 25000, η έκφραση "eisodima > 25000" είναι αληθής άρα θα εκτελεστεί ο κώδικας1. Όπως είπαμε ο κώδικας2 δε θα εκτελεστεί και έτσι μετά το πρόγραμμα θα εκτελέσει το print()
Το παραπάνω μπορείς να το σώσεις σε ένα αρχείο και να το τρέξεις. Η python θα διαβάσει την πρώτη γραμμή του προγράμματος, θα την εκτελέσει και μετά θα πάει στην επόμενη. Αυτό θα επαναληφθεί μέχρι να φτάσει στο τέλος του αρχείου.