Python Δηλώσεις υπό όρους: IF…Else, ELIF & Switch Case
⚡ Έξυπνη Σύνοψη
Python Οι Δηλώσεις Υπό Συνθήκη κατευθύνουν τη ροή του προγράμματος εκτελώντας συγκεκριμένα μπλοκ κώδικα μόνο όταν οι Λογικές εκφράσεις αξιολογούνται ως true. Περιλαμβάνουν if, else, elif, nested if, τον τριαδικό τελεστή και αντιστοίχιση δομικών μοτίβων για καθαρή, βασισμένη σε αποφάσεις λογική.

Σε τι περιλαμβάνονται οι δηλώσεις υπό όρους Python?
Δηλώσεις υπό όρους σε Python εκτελούν διαφορετικούς υπολογισμούς ή ενέργειες ανάλογα με το αν ένας συγκεκριμένος περιορισμός Boolean αξιολογείται ως true ή false. Επιτρέπουν σε ένα πρόγραμμα να λαμβάνει αποφάσεις και να ακολουθεί διαφορετικές διαδρομές αντί να εκτελεί κάθε γραμμή σε ακολουθία. Python, οι υπό όρους δηλώσεις χειρίζονται από το if η εντολή και οι συνοδευτικές της: else, elif και nested if.
Τι είναι Python Αν Δήλωση;
The Python εάν δήλωση Χρησιμοποιείται για λειτουργίες λήψης αποφάσεων. Περιέχει ένα σώμα κώδικα που εκτελείται μόνο όταν η συνθήκη που δίνεται στην πρόταση if είναι αληθής. Εάν η συνθήκη είναι ψευδής, εκτελείται η προαιρετική πρόταση else, η οποία περιέχει τον κώδικα για τη συνθήκη else. Όταν θέλετε να ενεργήσετε με βάση μια συνθήκη ενώ μια άλλη δεν είναι αληθής, χρησιμοποιείτε την Python αν-άλλο δήλωση.
Python if Σύνταξη δήλωσης:
if expression:
statement
else:
statement
Python αν…αλλιώς Διάγραμμα ροής
Το παραπάνω διάγραμμα ροής δείχνει πώς ρέει ο έλεγχος μέσω μιας εντολής if-else. Ας δούμε ένα παράδειγμα της Python Δήλωση if-else σε δράση:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Γραμμή 3: Ορίζουμε δύο μεταβλητές x, y = 2, 8.
- Code Γραμμή 4: Η εντολή if ελέγχει τη συνθήκη x < y, η οποία είναι Οι αληθινοί σε αυτήν την περίπτωση.
- Code Γραμμή 5: Η μεταβλητή st έχει οριστεί σε «το x είναι μικρότερο από το y».
- Code Γραμμή 6: Η γραμμή print(st) εξάγει την τιμή του st, η οποία είναι «το x είναι μικρότερο από το y».
Τι συμβαίνει όταν δεν πληρούται η συνθήκη «αν»
Βασιζόμενοι στο προηγούμενο παράδειγμα, ας δούμε τι συμβαίνει όταν η συνθήκη if είναι Python δεν πληρούται. Όταν η συνθήκη είναι ψευδής και δεν υπάρχει άλλος κλάδος, ο κώδικας με εσοχή παραλείπεται εντελώς.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Γραμμή 3: Ορίζουμε δύο μεταβλητές x, y = 8, 4.
- Code Γραμμή 4: Η εντολή if ελέγχει τη συνθήκη x < y, η οποία είναι Ψευδής σε αυτήν την περίπτωση.
- Code Γραμμή 5: Η μεταβλητή st είναι ΔΕΝ ορίστε το "x είναι μικρότερο από το y".
- Code Γραμμή 6: Η γραμμή print(st) προσπαθεί να εκτυπώσει μια μεταβλητή που δεν δηλώθηκε ποτέ, επομένως Python σηκώνει α ΌνομαΣφάλμα.
Πώς να χρησιμοποιήσετε τη συνθήκη «άλλο»
Για να αποφύγετε το παραπάνω σφάλμα, μπορείτε να προσθέσετε μια συνθήκη else. Η συνθήκη else χρησιμοποιείται όταν πρέπει να κρίνετε μια πρόταση με βάση μια άλλη. Εάν μια συνθήκη είναι ψευδής, το μπλοκ else παρέχει μια εναλλακτική διαδρομή, ώστε το πρόγραμμα να εξακολουθεί να παράγει ένα αποτέλεσμα.
Παράδειγμα:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Γραμμή 3: Ορίζουμε δύο μεταβλητές x, y = 8, 4.
- Code Γραμμή 4: Η εντολή if ελέγχει τη συνθήκη x < y, η οποία είναι Ψευδής σε αυτήν την περίπτωση.
- Code Γραμμή 6: Η ροή του ελέγχου του προγράμματος πηγαίνει στη συνθήκη else.
- Code Γραμμή 7: Η μεταβλητή st έχει οριστεί σε «το x είναι μεγαλύτερη από εσένα."
- Code Γραμμή 8: Η γραμμή print(st) εμφανίζει την τιμή του st, η οποία είναι «το x είναι μεγαλύτερο από το y».
Όταν η συνθήκη «άλλως» δεν λειτουργεί
Η συνθήκη "else" δεν θα σας δώσει πάντα το επιθυμητό αποτέλεσμα. Μπορεί να εκτυπώσει λάθος έξοδο όταν υπάρχει κάποιο σφάλμα στη λογική του προγράμματος. Αυτό συμβαίνει συνήθως όταν πρέπει να δικαιολογήσετε περισσότερες από δύο δηλώσεις ή συνθήκες σε ένα πρόγραμμα. Ένα παράδειγμα θα σας βοηθήσει να κατανοήσετε αυτήν την έννοια.
Εδώ και οι δύο μεταβλητές είναι οι ίδιες (8, 8), ωστόσο η έξοδος του προγράμματος είναι «Το x είναι μεγαλύτερο από το y», το οποίο είναι ΛΑΘΟΣΑυτό συμβαίνει επειδή το πρόγραμμα ελέγχει την πρώτη συνθήκη (τη συνθήκη if) και όταν αποτύχει, εκτυπώνει τη δεύτερη συνθήκη (τη συνθήκη else) ως προεπιλογή. Στο επόμενο βήμα, θα δούμε πώς να διορθώσουμε αυτό το σφάλμα.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Πώς να χρησιμοποιήσετε τη συνθήκη «elif»
Για να διορθώσουμε το προηγούμενο σφάλμα που έγινε από τη συνθήκη else, μπορούμε να χρησιμοποιήσουμε την Elif Δήλωση. Χρησιμοποιώντας τη συνθήκη elif, λέτε στο πρόγραμμα να ελέγξει μια τρίτη πιθανότητα όταν η πρώτη συνθήκη είναι ψευδής. Μπορείτε να συνδέσετε πολλαπλές συνθήκες elif για να ελέγξετε για τέταρτη, πέμπτη και περαιτέρω πιθανότητες στον κώδικά σας.
Παράδειγμα:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Γραμμή 3: Ορίζουμε δύο μεταβλητές x, y = 8, 8.
- Code Γραμμή 4: Η εντολή if ελέγχει τη συνθήκη x < y, η οποία είναι Ψευδής σε αυτήν την περίπτωση.
- Code Γραμμή 6: Η ροή ελέγχου του προγράμματος πηγαίνει στη συνθήκη elif. Ελέγχει αν x == y, κάτι που ισχύει.
- Code Γραμμή 7: Η μεταβλητή st έχει οριστεί σε «το x είναι ίδιο όπως y. "
- Code Γραμμή 10: Ο έλεγχος του προγράμματος τερματίζει την εντολή if (δεν θα φτάσει στην εντολή else) και τυπώνει st. Η έξοδος είναι «το x είναι ίδιο με το y», το οποίο είναι σωστό.
Πώς να εκτελέσετε μια υπό όρους δήλωση με ελάχιστο Code
Τώρα που μπορείτε να γράψετε πλήρη μπλοκ if-elif-else, Python σας επιτρέπει να συμπυκνώσετε μια απλή συνθήκη σε μία μόνο γραμμή. Αντί να γράφετε ξεχωριστό κώδικα για κάθε κλάδο, μπορείτε να χρησιμοποιήσετε ένα τριαδική (υπό όρους) έκφραση.
Σύνταξη:
value_if_true if condition else value_if_false
Παράδειγμα:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Γραμμή 2: Ορίζουμε δύο μεταβλητές x, y = 10, 8.
- Code Γραμμή 3: Η μεταβλητή st ορίζεται σε «το x είναι μικρότερο από το y» αν x < y. Διαφορετικά γίνεται «το x είναι μεγαλύτερο ή ίσο με το y». Επειδή x > y εδώ, το st γίνεται η δεύτερη τιμή.
- Code Γραμμή 4: Εκτυπώνει την τιμή του st και δίνει τη σωστή έξοδο.
Python Ένθετη δήλωση if
Μια ένθετη πρόταση if τοποθετεί μια πρόταση if μέσα σε μια άλλη, κάτι που είναι χρήσιμο όταν μια απόφαση εξαρτάται από μια δεύτερη συνθήκη. Το ακόλουθο παράδειγμα δείχνει μια ένθετη πρόταση if σε Python που υπολογίζει το πλοίοping κόστος βάσει χώρας και συνολικού αριθμού παραγγελίας.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Αποσχολιάστε τη Γραμμή 2 στον παραπάνω κώδικα, σχολιάστε τη Γραμμή 3 και εκτελέστε ξανά τον κώδικα για να δείτε πώς αλλάζει η έξοδος για μια διαφορετική χώρα.
Εναλλαγή δήλωσης υπόθεσης Python
Τι είναι μια Δήλωση Switch;
Μια πρόταση switch είναι μια πρόταση πολλαπλών διακλαδώσεων που συγκρίνει την τιμή μιας μεταβλητής με τις τιμές που καθορίζονται στις προτάσεις case. Για πολλά χρόνια, η Python Η γλώσσα δεν είχε εντολή switch, επομένως οι προγραμματιστές εφάρμοσαν την ίδια συμπεριφορά με Python λεξικό χάρτηping.
Παράδειγμα χρήσης χάρτη λεξικούping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Θήκη διακόπτη με αντιστοίχιση (Python 3.10 και Later)
Από Python 3.10 (κυκλοφόρησε τον Οκτώβριο του 2021), Python παρέχει έναν ντόπιο περίπτωση αντιστοίχισης δήλωση, γνωστή ως αντιστοίχιση δομικών μοτίβων. Προσφέρει μια καθαρή, ευανάγνωστη εναλλακτική λύση στις μεγάλες αλυσίδες elif και την προσέγγιση λεξικού που φαίνεται παραπάνω.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Η υπογράμμιση (_) λειτουργεί ως η προεπιλεγμένη περίπτωση, αντιστοιχώντας σε οποιαδήποτε τιμή δεν έχει αντιμετωπιστεί από τις προηγούμενες περιπτώσεις, ακριβώς όπως η προεπιλεγμένη σε μια παραδοσιακή πρόταση switch.
αν εναντίον elif εναντίον else: Γρήγορη Σύγκριση
Χρησιμοποιήστε αυτήν τη σύγκριση για να αποφασίσετε ποια δομή υπό όρους ταιριάζει στη λογική λήψης αποφάσεων.
| Δήλωση | Σκοπός | Πότε να χρησιμοποιήσετε |
|---|---|---|
| if | Εκτελεί ένα μπλοκ όταν μια συνθήκη είναι αληθής | Μία μόνο απόφαση ναι/όχι |
| αν...αλλιώς | Παρέχει μια εναλλακτική λύση όταν η συνθήκη είναι ψευδής | Δύο αμοιβαία αποκλειόμενα αποτελέσματα |
| Elif | Δοκιμάζει πρόσθετες συνθήκες σε ακολουθία | Τρεις ή περισσότερες πιθανότητες |
| Φωλιασμένο αν | Τοποθετεί ένα if μέσα σε ένα άλλο if | Μια απόφαση που εξαρτάται από μια δεύτερη προϋπόθεση |
| Τριαδικός | Συμπυκνώνει το if-else σε μία γραμμή | Απλή ανάθεση τιμών |
| περίπτωση αντιστοίχισης | Αντιστοιχίζει μια τιμή με πολλά μοτίβα | Πολλαπλή διακλάδωση (Python 3.10 +) |







