Στην Python, οι συνθήκες εκτελούνται με τη χρήση της δομής if
statement. Μια συνθήκη είναι μια δήλωση που αξιολογείται ως αληθής ή ψευδής και ανάλογα εκτελείται ένα τμήμα του κώδικα.
Η σύνταξη του if
statement είναι η ακόλουθη:
if condition: # Κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής
Στο παραπάνω παράδειγμα, η condition
είναι η συνθήκη που πρέπει να αξιολογηθεί, και ο κώδικας που πρέπει να εκτελεστεί αν η συνθήκη είναι αληθής είναι ο κώδικας που βρίσκεται στο επόμενο επίπεδο μετά το if
statement και είναι εσοχής.
Μπορείτε επίσης να χρησιμοποιήσετε το else
statement για να εκτελέσετε κώδικα όταν η συνθήκη δεν είναι αληθής:
if condition: # Κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής else: # Κώδικας που θα εκτελεστεί αν η συνθήκη είναι ψευδής
Μπορείτε επίσης να χρησιμοποιήσετε το elif
statement για να ελέγξετε πολλαπλές συνθήκες:
if condition1: # Κώδικας που θα εκτελεστεί αν η πρώτη συνθήκη είναι αληθής elif condition2: # Κώδικας που θα εκτλεστε αν η δεύτερη συνθήκη είναι αληθής else: #Κώδικας που θα εκτελεστεί αν καμία από τις παραπάνω συνθήκες δεν είναι αληθής
Μπορείτε επίσης να χρησιμοποιήσετε λογικούς τελεστές (`and`, `or` και `not`) για να συνδυάσετε πολλαπλές συνθήκες. Για παράδειγμα:
x = 5 # Αρχικοποίηση της μεταβλητής x με την τιμή 5 y = 10 # Αρχικοποίηση της μεταβλητής y με την τιμή 10 # Έλεγχος δύο συνθηκών: x > 3 και y > 5 if x > 3 and y > 5: print("Both conditions are true") # Εκτύπωση μηνύματος "Both conditions are true" αν οι συνθήκες είναι αληθείς
Στον παραπάνω κώδικα, δημιουργούνται δύο μεταβλητές x
και y
με τιμές 5 και 10 αντίστοιχα. Στη συνέχεια, χρησιμοποιείται η δομή if
για να ελεγχθούν δύο συνθήκες: αν το x
είναι μεγαλύτερο από 3 και το y
είναι μεγαλύτερο από 5. Αν και οι δύο συνθήκες είναι αληθείς, τότε εκτυπώνεται το μήνυμα “Both conditions are true” στην οθόνη.
[adinserter block=”2″]
Στην Python, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί “not” για να αναστρέψετε την αξιολόγηση μιας συνθήκης. Αυτό σημαίνει ότι αν η συνθήκη είναι αληθής, τότε η “not” θα την καταστήσει ψευδή, και αν η συνθήκη είναι ψευδής, τότε η “not” θα την καταστήσει αληθή. Έτσι, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί “not” για να αναστρέψετε το αποτέλεσμα μιας συνθήκης.
x = 5 # Αρχικοποίηση της μεταβλητής x με την τιμή 5 # Έλεγχος της συνθήκης: αν η συνθήκη x > 10 είναι ψευδής (δηλαδή x δεν είναι μεγαλύτερο του 10) if not x > 10: print("x is not greater than 10") # Εκτύπωση μηνύματος "x is not greater than 10" αν η συνθήκη είναι ψευδής
Ο κώδικας αρχικοποιεί τη μεταβλητή x με την τιμή 5 και στη συνέχεια ελέγχει αν η συνθήκη x > 10 είναι ψευδής. Αν η συνθήκη είναι ψευδής, τότε εκτυπώνεται το μήνυμα “x is not greater than 10”.
Στην Python, μπορούμε να χρησιμοποιήσουμε συνθήκες που βασίζονται στην αριθμητική και τα μαθηματικά. Οι βασικές συνθήκες που υποστηρίζονται είναι οι εξής:
- Ίσον:
a == b
(Η τιμή της μεταβλητήςa
είναι ίση με την τιμή της μεταβλητήςb
) - Διαφορετικό:
a != b
(Η τιμή της μεταβλητήςa
είναι διαφορετική από την τιμή της μεταβλητήςb
) - Μικρότερο από:
a < b
(Η τιμή της μεταβλητήςa
είναι μικρότερη από την τιμή της μεταβλητήςb
) - Μικρότερο ή ίσο με:
a <= b
(Η τιμή της μεταβλητήςa
είναι μικρότερη ή ίση με την τιμή της μεταβλητήςb
) - Μεγαλύτερο από:
a > b
(Η τιμή της μεταβλητήςa
είναι μεγαλύτερη από την τιμή της μεταβλητήςb
) - Μεγαλύτερο ή ίσο με:
a >= b
(Η τιμή της μεταβλητήςa
είναι μεγαλύτερη ή ίση με την τιμή της μεταβλητήςb
)
Αυτές οι συνθήκες μπορούν να χρησιμοποιηθούν με διάφορους τρόπους, κυρίως μέσα σε “if statements” (δηλαδή δηλώσεις if) και loops (επαναλήψεις). Αξιοποιώντας αυτές τις συνθήκες, μπορούμε να προγραμματίσουμε την εκτέλεση ενός τμήματος κώδικα μόνο όταν ισχύει μια συγκεκριμένη συνθήκη.
Ένα “if statement” στην Python αρχίζει με τη λέξη-κλειδί “if”.
x = 5 # Αρχικοποίηση της μεταβλητής x με την τιμή 5 # Έλεγχος συνθήκης: x > 3 if x > 3: print("x είναι μεγαλύτερο από 3") # Εκτύπωση μηνύματος "x είναι μεγαλύτερο από 3" αν η συνθήκη είναι αληθής
Στο παραπάνω παράδειγμα, ο αριθμός x
είναι μεγαλύτερος από 3, οπότε η συνθήκη x > 3
είναι αληθής και θα εκτυπωθεί το μήνυμα "x είναι μεγαλύτερο από 3"
.
Μπορείτε επίσης να συνδυάσετε συνθήκες χρησιμοποιώντας τα λογικά συμβόλα “and”, “or” και “not” στην Python. Το “and” χρησιμοποιείται για να ελέγξετε αν ισχύουν και οι δύο συνθήκες, το “or” για να ελέγξετε αν τουλάχιστον μία από τις δύο συνθήκες είναι αληθής, και το “not” για να αντιστρέψετε την αλήθεια μιας συνθήκης.
Παρακάτω παρουσιάζονται παραδείγματα:
x = 5 y = 10 # Έλεγχος αν και οι δύο συνθήκες είναι αληθείς if x > 3 and y > 5: print("Και οι δύο συνθήκες είναι αληθείς") # Έλεγχος αν τουλάχιστον μία από τις δύο συνθήκες είναι αληθής if x > 3 or y < 5: print("Τουλάχιστον μία από τις δύο συνθήκες είναι αληθής") # Αντίστροφη αξιολόγηση μιας συνθήκης if not x > 10: print("Η συνθήκη δεν είναι αληθής")
Με τη χρήση των λογικών συμβόλων μπορείτε να κατασκευάσετε πιο σύνθετες συνθήκες που εξαρτώνται από την αξιολόγηση πολλών συνθηκών ταυτόχρονα.
Στην Python, μπορείτε να χρησιμοποιήσετε τις συνθήκες με τις εντολές if
, elif
και else
για να αντιμετωπίσετε πολλές περιπτώσεις. Η εντολή if
αξιολογεί μια συνθήκη και εκτελεί ένα τμήμα κώδικα αν η συνθήκη είναι αληθής. Η εντολή elif
(συντομογραφία του “else if”) χρησιμοποιείται για να ελέγξετε επιπλέον συνθήκες μετά την εντολή if
. Αν καμία από τις προηγούμενες συνθήκες δεν είναι αληθής, μπορείτε να χρησιμοποιήσετε την εντολή else
για να εκτελέσετε έναν τμήμα κώδικα που ισχύει γενικά.
Παράδειγμα χρήσης:
x = 5 # Αρχικοποίηση της μεταβλητής x με την τιμή 5 # Έλεγχος της τιμής της μεταβλητής x if x < 0: print("Το x είναι αρνητικό") # Εκτύπωση μηνύματος "Το x είναι αρνητικό" αν η τιμή του x είναι αρνητική elif x == 0: print("Το x είναι μηδέν") # Εκτύπωση μηνύματος "Το x είναι μηδέν" αν η τιμή του x είναι μηδέν else: print("Το x είναι θετικό") # Εκτύπωση μηνύματος "Το x είναι θετικό" αν η τιμή του x είναι θετική
Στο παραπάνω παράδειγμα, ο κώδικας αξιολογεί την τιμή της μεταβλητής x
και εκτελεί το αντίστοιχο τμήμα κώδικα ανάλογα με τη συνθήκη που ισχύει. Αν το x
είναι αρνητικό, εκτυπώνεται το μήνυμα “Το x είναι αρνητικό”. Αν το x
είναι μηδέν, εκτυπώνεται το μήνυμα “Το x είναι μηδέν”. Αν καμία από τις προηγούμενες συνθήκες δεν ισχύει, εκτελείται το τμήμα κώδικα που βρίσκεται στην εντολή else
, και εκτυπώνεται το μήνυμα “Το x είναι θετικό”.
[adinserter block=”3″]
Στην Python, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί “in” για να ελέγξετε εάν ένα στοιχείο βρίσκεται σε μια λίστα ή σε ένα λεξικό. Η σύνταξη είναι η εξής:
Για λίστα:
if element in my_list: # Εκτελείται αν το element βρίσκεται στη λίστα my_list
Για λεξικό:
if key in my_dict: # Εκτελείται αν το key βρίσκεται στο λεξικό my_dict
Η λέξη-κλειδί “in” αξιολογείται ως αληθής αν το στοιχείο (ή ο κλειδίς) βρίσκεται στην αντίστοιχη δομή δεδομένων, και αλλιώς είναι ψευδής. Μπορείτε να χρησιμοποιήσετε τον έλεγχο “not in” για να ελέγξετε αν ένα στοιχείο (ή ένα κλειδί) δεν βρίσκεται στην αντίστοιχη δομή δεδομένων.
# Παράδειγμα με in keyword my_list = [1, 2, 3, 4, 5] if 3 in my_list: print("Το 3 βρίσκεται στη λίστα") # Εκτύπωση μηνύματος αν το 3 βρίσκεται στη λίστα my_dict = {"apple": 1, "banana": 2, "orange": 3} if "apple" in my_dict: print("Το κλειδί 'apple' υπάρχει στο λεξικό") # Εκτύπωση μηνύματος αν το κλειδί 'apple' υπάρχει στο λεξικό
Σε αυτό το μέρος του κώδικα, δημιουργούμε μια λίστα με τα στοιχεία [1, 2, 3, 4, 5]. Στη συνέχεια, χρησιμοποιούμε τον έλεγχο if
με την πρόταση 3 in my_list
για να ελέγξουμε αν το 3 βρίσκεται στη λίστα. Εφόσον αυτή η συνθήκη είναι αληθής, εκτελείται η εντολή print("Το 3 βρίσκεται στη λίστα")
, και εκτυπώνεται το μήνυμα “Το 3 βρίσκεται στη λίστα”
Στο επόμενο τμήμα του κώδικα, δημιουργούμε ένα λεξικό με τα ζευγάρια κλειδιού-τιμής {“apple”: 1, “banana”: 2, “orange”: 3}. Στη συνέχεια, χρησιμοποιούμε τον έλεγχο if
με την πρόταση "apple" in my_dict
για να ελέγξουμε αν το κλειδί “apple” υπάρχει στο λεξικό. Εφόσον αυτή η συνθήκη είναι αληθής, εκτελείται η εντολή print("Το κλειδί 'apple' υπάρχει στο λεξικό")
, και εκτυπώνεται το μήνυμα “Το κλειδί ‘apple’ υπάρχει στο λεξικό”.
Με τη χρήση των εντολών if
και in
, είναι δυνατό να ελέγχετε την παρουσία στοιχείων σε μια λίστα ή ένα λεξικό και να προβάλλετε αντίστοιχα μηνύματα ανάλογα με το αποτέλεσμα του ελέγχου.
Μπορείτε επίσης να χρησιμοποιήσετε τη λέξη-κλειδί “is” για να ελέγξετε εάν δύο μεταβλητές αναφέρονται στο ίδιο αντικείμενο. Αν δύο μεταβλητές αναφέρονται στο ίδιο αντικείμενο, τότε η συνθήκη “is” αξιολογείται ως True, διαφορετικά αξιολογείται ως False.
# Παράδειγμα με is keyword x = [1, 2, 3] # Αρχικοποίηση της λίστας x με τις τιμές 1, 2, 3 y = [1, 2, 3] # Αρχικοποίηση της λίστας y με τις τιμές 1, 2, 3 z = x # Η μεταβλητή z αναφέρεται στην ίδια λίστα με την x # Έλεγχος με τη χρήση του is keyword if x is y: print("x και y αναφέρονται στο ίδιο αντικείμενο") else: print("x και y δεν αναφέρονται στο ίδιο αντικείμενο") if x is z: print("x και z αναφέρονται στο ίδιο αντικείμενο") else: print("x και z δεν αναφέρονται στο ίδιο αντικείμενο")
Ο παραπάνω κώδικας παρουσιάζει ένα παράδειγμα χρήσης του is
keyword στην Python για τον έλεγχο της ταυτότητας των αντικειμένων.
Αρχικά, δημιουργούνται τρεις λίστες: x
, y
, και z
. Η λίστα x
περιέχει τις τιμές 1, 2, 3. Η λίστα y
δημιουργείται ανεξάρτητα από την x
και περιέχει τις ίδιες τιμές. Τέλος, η λίστα z
αναφέρεται στην ίδια λίστα με την x
.
Στη συνέχεια, χρησιμοποιείται το is
keyword για να ελεγχθεί αν δύο μεταβλητές αναφέρονται στο ίδιο αντικείμενο. Στην πρώτη συνθήκη, ελέγχεται αν η x
και η y
αναφέρονται στο ίδιο αντικείμενο. Καθώς δημιουργήθηκαν ανεξάρτητα, η συνθήκη δεν ικανοποιείται και εκτυπώνεται το μήνυμα “x και y δεν αναφέρονται στο ίδιο αντικείμενο”.
Στη δεύτερη συνθήκη, ελέγχεται αν η x
και η z
αναφέρονται στο ίδιο αντικείμενο. Καθώς η z
αναφέρεται στην ίδια λίστα με την x
, η συνθήκη ικανοποιείται και εκτυπώνεται το μήνυμα “x και z αναφέρονται στο ίδιο αντικείμενο”.
[adinserter block=”4″]
Έτσι, ο κώδικας δείχνει τη διαφορά μεταξύ της ταυτότητας και της ισότητας αντικειμένων στην Python. Η ταυτότητα αναφέρεται στο αν δύο μεταβλητές αναφέρονται στο ίδιο αντικείμενο, ενώ η ισότητα αναφέρεται στο αν δύο μεταβλητές έχουν τις ίδιες τιμές.
Στο Python, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί “pass” σε συνθήκες όπου δεν χρειάζεται να εκτελεστεί κάποια εντολή, προκειμένου να αποφύγετε σφάλματα. Η λέξη-κλειδί “pass” είναι μια κενή δήλωση και δεν παράγει καμία επίδραση στην εκτέλεση του κώδικα. Χρησιμοποιείται ως προσωρινή υποκατάσταση όταν η συνθήκη απαιτεί μια εντολή, αλλά δεν χρειάζεται να γίνει τίποτα επί του παρόντος.
Ο σκοπός της χρήσης της λέξης-κλειδιού “pass” είναι να δηλώσει ότι η συνθήκη έχει αποτελεσματικά παραβλεφθεί και να αποτρέψει το πρόγραμμα από την πρόκληση σφάλματος σύνταξης. Αυτό μπορεί να είναι χρήσιμο, για παράδειγμα, όταν επεκτείνετε ένα πρόγραμμα και θέλετε να προσθέσετε μια συνθήκη στην οποία θα επιστραφεί αργότερα κώδικας.
Οπότε, χρησιμοποιώντας τη λέξη-κλειδί “pass” σε μια συνθήκη δηλώνετε ότι δεν χρειάζεται να γίνει τίποτα επί του παρόντος και μπορείτε να συνεχίσετε με τον υπόλοιπο κώδικα.
# Παράδειγμα με τη χρήση του pass keyword x = 5 # Αρχικοποίηση της μεταβλητής x με την τιμή 5 # Έλεγχος της συνθήκης x > 10 if x > 10: pass # Το pass keyword χρησιμοποιείται για να αφήσουμε την ενότητα κενή χωρίς να προκαλεί σφάλμα # Συνέχιση του κώδικα μετά τη συνθήκη # ...
Αρχικά, αναθέτουμε την τιμή 5 στη μεταβλητή x
. Έπειτα, χρησιμοποιούμε μια συνθήκη if
για να ελέγξουμε αν η τιμή της x
είναι μεγαλύτερη από 10. Ωστόσο, στο σώμα της συνθήκης δεν έχουμε κανέναν κώδικα που θα εκτελεστεί. Αντί για κάποια ενέργεια, χρησιμοποιούμε την εντολή pass
, η οποία δηλώνει ότι θέλουμε να αφήσουμε την ενότητα κενή χωρίς να προκαλεί σφάλμα.
Το pass
χρησιμοποιείται κυρίως όταν έχουμε μια δομή ελέγχου (όπως το if
) που πρέπει να υπάρχει για λόγους σύνταξης ή σχεδίασης, αλλά δεν χρειάζεται να εκτελεστεί κάποιος κώδικας μέσα σε αυτήν. Έτσι, η εντολή pass
λειτουργεί ως ένα είδος “παραβολής” για την προσωρινή αφήση της ενότητας κενής.
Στο παράδειγμα αυτό, επειδή η τιμή της x
δεν είναι μεγαλύτερη από 10, η εκτέλεση του προγράμματος θα συνεχιστεί κανονικά μετά τη συνθήκη.
Αυτά είναι μερικά από τα βασικά στοιχεία των συνθηκών και των εντολών if
στην Python.