Python Declarații condiționale: IF...Else, ELIF și Switch Case
⚡ Rezumat inteligent
Python Instrucțiunile condiționale direcționează fluxul programului prin executarea anumitor blocuri de cod doar atunci când expresiile booleene se evaluează ca adevărat. Acestea includ if, else, elif, nested if, operatorul ternar și potrivirea structurală a modelelor pentru o logică clară, bazată pe decizii.

În ce sunt declarațiile condiționale Python?
Declarații condiționale în Python efectuează calcule sau acțiuni diferite în funcție de evaluarea unei anumite constrângeri booleene ca fiind adevărată sau falsă. Acestea permit unui program să ia decizii și să urmeze căi diferite în loc să ruleze fiecare linie în secvență. În Python, instrucțiunile condiționale sunt gestionate de if instrucțiune și însoțitoarele sale: else, elif și if imbricat.
Ce Este Python Dacă declarație?
Python afirmatie if este utilizat pentru operațiuni decizionale. Conține un corp de cod care rulează numai atunci când condiția dată în instrucțiunea if este adevărată. Dacă condiția este falsă, se execută în schimb instrucțiunea opțională else, care conține codul pentru condiția else. Când doriți să acționați asupra unei condiții în timp ce o alta nu este adevărată, utilizați Python declarație dacă-altfel.
Python Sintaxa instrucțiunii if:
if expression:
statement
else:
statement
Python dacă... altfel Diagramă
Schema de flux de mai sus arată cum se desfășoară controlul printr-o instrucțiune if-else. Să vedem un exemplu al Python Instrucțiunea if-else în acțiune:
# 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 Linia 3: Definim două variabile x, y = 2, 8.
- Code Linia 4: Instrucțiunea if verifică condiția x < y, care este Adevărat în acest caz.
- Code Linia 5: Variabila st este setată la „x este mai mic decât y”.
- Code Linia 6: Linia print(st) afișează valoarea lui st, care este „x este mai mic decât y”.
Ce se întâmplă când condiția „dacă” nu este îndeplinită
Pornind de la exemplul anterior, să vedem ce se întâmplă când condiția if din Python nu este îndeplinită. Când condiția este falsă și nu există nicio ramură else, codul indentat este omis complet.
# 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 Linia 3: Definim două variabile x, y = 8, 4.
- Code Linia 4: Instrucțiunea if verifică condiția x < y, care este Fals în acest caz.
- Code Linia 5: Variabila st este NU setat la „x este mai mic decât y”.
- Code Linia 6: Linia print(st) încearcă să afișeze o variabilă care nu a fost niciodată declarată, deci Python ridică a NameErrore.
Cum se utilizează condiția „altfel”
Pentru a evita eroarea de mai sus, puteți adăuga o condiție else. Condiția else este utilizată atunci când trebuie să evaluați o afirmație pe baza alteia. Dacă o condiție este falsă, blocul else oferă o cale alternativă, astfel încât programul să producă în continuare un rezultat.
Exemplu:
# 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 Linia 3: Definim două variabile x, y = 8, 4.
- Code Linia 4: Instrucțiunea if verifică condiția x < y, care este Fals în acest caz.
- Code Linia 6: Fluxul de control al programului trece la condiția else.
- Code Linia 7: Variabila st este setată la „x este mai mare decât y.”
- Code Linia 8: Linia print(st) afișează valoarea lui st, care este „x este mai mare decât y”.
Când condiția „altceva” nu funcționează
Condiția „else” nu va oferi întotdeauna rezultatul dorit. Poate afișa o ieșire greșită atunci când există o eroare în logica programului. Acest lucru se întâmplă de obicei atunci când trebuie să justificați mai mult de două instrucțiuni sau condiții într-un program. Un exemplu vă va ajuta să înțelegeți acest concept.
Aici ambele variabile sunt aceleași (8, 8), dar rezultatul programului este „x este mai mare decât y” care este GRESITAcest lucru se întâmplă deoarece programul verifică prima condiție (condiția if) și, atunci când aceasta eșuează, afișează a doua condiție (condiția else) ca implicită. În pasul următor, vom vedea cum să corectăm această eroare.
# 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()
Cum se utilizează condiția „elif”
Pentru a corecta eroarea anterioară făcută de condiția else, putem folosi Elif Instrucțiunea. Prin utilizarea condiției elif, îi spuneți programului să testeze o a treia posibilitate atunci când prima condiție este falsă. Puteți înlănțui mai multe condiții elif pentru a verifica a patra, a cincea și alte posibilități în codul dumneavoastră.
Exemplu:
# 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 Linia 3: Definim două variabile x, y = 8, 8.
- Code Linia 4: Instrucțiunea if verifică condiția x < y, care este Fals în acest caz.
- Code Linia 6: Fluxul de control al programului trece la condiția elif. Verifică dacă x == y, ceea ce este adevărat.
- Code Linia 7: Variabila st este setată la „x este la fel ca y. "
- Code Linia 10: Controlul programului iese din instrucțiunea if (nu va ajunge la instrucțiunea else) și afișează st. Rezultatul este „x este același cu y”, ceea ce este corect.
Cum se execută o instrucțiune condițională cu Minimal Code
Acum că poți scrie blocuri complete de tip if-elif-else, Python vă permite să condensați o condiție simplă într-o singură linie. În loc să scrieți cod separat pentru fiecare ramură, puteți utiliza un expresie ternară (condițională).
Sintaxă:
value_if_true if condition else value_if_false
Exemplu:
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 Linia 2: Definim două variabile x, y = 10, 8.
- Code Linia 3: Variabila st este setată la „x este mai mic decât y” dacă x < y; altfel devine „x este mai mare sau egal cu y”. Deoarece x > y aici, st devine a doua valoare.
- Code Linia 4: Afișează valoarea lui st și oferă rezultatul corect.
Python Imbricat if Declarație
O instrucțiune if imbricată plasează o instrucțiune if în interiorul alteia, ceea ce este util atunci când o decizie depinde de o a doua condiție. Următorul exemplu demonstrează o instrucțiune if imbricată în Python care calculează navaping Cost în funcție de țară și de totalul comenzii.
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")
Eliminați comentariile de la linia 2 din codul de mai sus, comentați linia 3 și rulați din nou codul pentru a vedea cum se modifică rezultatul pentru o altă țară.
Comutați declarația cazului în Python
Ce este o instrucțiune Switch?
O instrucțiune switch este o instrucțiune de ramificare multiway care compară valoarea unei variabile cu valorile specificate în instrucțiunile case. Timp de mulți ani, Python limbajul nu avea o instrucțiune switch, așa că dezvoltatorii au implementat același comportament cu Python dicţionar Hartăping.
Exemplu folosind harta dicționaruluiping:
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))
Carcasa schimbătorului cu chibrit (Python 3.10 și Later)
Întrucât Python 3.10 (lansat în octombrie 2021), Python oferă un nativ carcasă de chibrituri instrucțiune, cunoscută sub numele de potrivire structurală a modelelor. Oferă o alternativă curată și ușor de citit la lanțurile elif lungi și la abordarea dicționar prezentată mai sus.
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))
Sublinierea (_) acționează ca caz implicit, potrivindu-se cu orice valoare negestionată de cazurile anterioare, la fel ca valoarea implicită dintr-o instrucțiune switch tradițională.
if vs elif vs else: Comparație rapidă
Folosește această comparație pentru a decide ce structură condițională se potrivește logicii tale decizionale.
| Declarație | Scop | Când să utilizați |
|---|---|---|
| if | Rulează un bloc când o condiție este adevărată | O singură decizie de tip da/nu |
| daca...altfel | Oferă o soluție de rezervă atunci când condiția este falsă | Două rezultate care se exclud reciproc |
| Elif | Testează condiții suplimentare în secvență | Trei sau mai multe posibilități |
| Imbricat dacă | Plasează un if în interiorul unui alt if | O decizie care depinde de o a doua condiție |
| Ternar | Condensează if-else într-o singură linie | Atribuirea simplă a valorilor |
| carcasă de chibrituri | Potrivește o valoare cu mai multe modele | Ramificare multidirecțională (Python 3.10 +) |







