Python Tingimuslikud avaldused: IF…Else, ELIF & Switch Case
⚡ Nutikas kokkuvõte
Python Tingimuslaused suunavad programmi voogu, käivitades teatud koodiplokke ainult siis, kui Boole'i avaldised hindavad väärtuseks tõene. Nende hulka kuuluvad if, else, elif, pesastatud if, kolmekomponentne operaator ja struktuuriline mustrite sobitamine puhta ja otsustuspõhise loogika saavutamiseks.

Milles sisalduvad tingimuslikud avaldused Python?
Tingimuslikud avaldused sisse Python sooritavad erinevaid arvutusi või toiminguid olenevalt sellest, kas konkreetne Boole'i piirang annab tulemuseks tõese või väära väärtuse. Need lasevad programmil teha otsuseid ja järgida erinevaid teid, selle asemel et iga rida järjest käivitada. Python, tingimuslauseid käsitleb if lause ja selle kaaslased: else, elif ja pesastatud if.
Mis on Python Kui avaldus?
. Python kui avaldus kasutatakse otsustusoperatsioonide jaoks. See sisaldab koodi, mis käivitub ainult siis, kui if-lauses antud tingimus on tõene. Kui tingimus on väär, käivitub selle asemel valikuline else-lause, mis sisaldab else-tingimuse koodi. Kui soovite tegutseda ühe tingimuse korral, kui teine ei ole tõene, kasutate Python kui-muidu avaldus.
Python kui lause süntaks:
if expression:
statement
else:
statement
Python kui...muidu Vooskeem
Ülaltoodud vooskeem näitab, kuidas juhtimine toimib if-else lause kaudu. Vaatame näidet Python if-else lause tegevuses:
# 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 Rida 3: Defineerime kaks muutujat x, y = 2, 8.
- Code Rida 4: if-lause kontrollib tingimust x < y, mis on Tõsi sel juhul.
- Code Rida 5: Muutuja st väärtuseks seatakse „x on väiksem kui y“.
- Code Rida 6: Rida print(st) väljastab st väärtuse, mis on „x on väiksem kui y”.
Mis juhtub, kui „kui” tingimus ei ole täidetud
Eelmisele näitele tuginedes vaatame, mis juhtub, kui if-tingimus on täidetud Python ei ole täidetud. Kui tingimus on väär ja muud haru pole olemas, jäetakse taandatud kood täielikult vahele.
# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 4.
- Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
- Code Rida 5: Muutuja st on EI seatud väärtusele "x on väiksem kui y".
- Code Rida 6: Rida print(st) püüab välja printida muutujat, mida pole kunagi deklareeritud, seega Python tõstab NameError.
Kuidas kasutada tingimust "muul juhul"
Ülaltoodud vea vältimiseks võite lisada tingimuse „else“. Tingimust „else“ kasutatakse siis, kui peate ühe lause teise põhjal hindama. Kui üks tingimus on väär, pakub „else“ plokk alternatiivse tee, nii et programm annab ikkagi tulemuse.
Näide:
# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 4.
- Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
- Code Rida 6: Programmi juhtimise voog liigub edasi tingimuseni „else“.
- Code Rida 7: Muutuja st väärtuseks seatakse „x on suurem kui y."
- Code Rida 8: Rida print(st) väljastab st väärtuse, mis on „x on suurem kui y”.
Kui „muul juhul“ tingimus ei toimi
Tingimus „else“ ei anna alati soovitud tulemust. See võib anda vale väljundi, kui programmi loogikas on viga. Tavaliselt juhtub see siis, kui peate programmis põhjendama rohkem kui kahte lauset või tingimust. Näide aitab teil seda kontseptsiooni mõista.
Siin on mõlemad muutujad samad (8, 8), kuid programmi väljund on "x on suurem kui y" mis on VALESee juhtub seetõttu, et programm kontrollib esimest tingimust (kui-tingimust) ja kui see ebaõnnestub, prindib see vaiketingimusena teise tingimuse (else-tingimuse). Järgmises etapis vaatame, kuidas seda viga parandada.
# 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()
Kuidas kasutada tingimust „elif”
Eelmise vea parandamiseks, mille tegi else tingimus, saame kasutada elif lause. Elif-tingimuse abil annate programmile käsu testida kolmandat võimalust, kui esimene tingimus on väär. Saate aheldada mitu elif-tingimust, et kontrollida oma koodis neljandat, viiendat ja edasisi võimalusi.
Näide:
# 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 Rida 3: Defineerime kaks muutujat x, y = 8, 8.
- Code Rida 4: if-lause kontrollib tingimust x < y, mis on Vale sel juhul.
- Code Rida 6: Programmi juhtimise voog liigub elif-tingimuseni. See kontrollib, kas x == y, mis on tõene.
- Code Rida 7: Muutuja st väärtuseks seatakse „x on sama y.”
- Code Rida 10: Programmi juhtimine väljub if-lausest (see ei jõua else-lauseni) ja väljastab st. Väljund on „x on sama mis y”, mis on õige.
Kuidas täita tingimuslikku avaldust minimaalse väärtusega Code
Nüüd, kui saate kirjutada täielikke if-elif-else plokke, Python võimaldab teil lihtsa tingimuse ühele reale kokku võtta. Iga haru jaoks eraldi koodi kirjutamise asemel saate kasutada ternaarne (tingimuslik) avaldis.
süntaksit:
value_if_true if condition else value_if_false
Näide:
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 Rida 2: Defineerime kaks muutujat x, y = 10, 8.
- Code Rida 3: Muutuja st väärtuseks määratakse „x on väiksem kui y“, kui x < y; vastasel juhul saab sellest „x on suurem või võrdne y-ga“. Kuna x > y, saab st teiseks väärtuseks.
- Code Rida 4: Väljastab st väärtuse ja annab õige väljundi.
Python Pesastatud, kui avaldus
Pesastatud if-lause paigutab ühe if-lause teise sisse, mis on kasulik, kui otsus sõltub teisest tingimusest. Järgnev näide demonstreerib pesastatud if-lauset Python mis arvutab laevaping Hind põhineb riigil ja tellimuse kogusummal.
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")
Eemalda ülaltoodud koodi 2. rea kommentaar, kommenteeri 3. rida välja ja käivita kood uuesti, et näha, kuidas väljund teise riigi puhul muutub.
Lülitage juhtumi avaldus sisse Python
Mis on lülituslause?
Lülituselause on mitmesuunaline hargnemislause, mis võrdleb muutuja väärtust case-lausetes määratud väärtustega. Aastaid on Python keelel polnud lülituslauset, seega rakendasid arendajad sama käitumist ka Python sõnaraamat kaartping.
Näide sõnastikukaardi kasutamisestping:
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))
Suuruse vahetamine vastega (Python 3.10 ja Later)
Alates Python 3.10 (ilmus oktoobris 2021), Python pakub emakeelt tikuümbris lause, mida tuntakse struktuurilise mustri sobitamisena. See pakub selget ja loetavat alternatiivi pikkadele elif-ahelatele ja eespool näidatud sõnastikupõhisele lähenemisviisile.
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))
Alakriips (_) toimib vaikimisi juhtumina, sobitades kõik väärtused, mida varasemad juhud ei käsitle, täpselt nagu traditsioonilise lülituslause vaikeväärtus.
if vs elif vs else: kiire võrdlus
Kasuta seda võrdlust, et otsustada, milline tingimuslik struktuur sobib sinu otsustusloogikaga.
| väljavõte | Eesmärk | Millal kasutada |
|---|---|---|
| if | Käivitab ploki, kui tingimus on tõene | Üks jah/ei otsus |
| kui…muidu | Pakub varuvarianti, kui tingimus on väär | Kaks teineteist välistavat tulemust |
| elif | Testib järjest lisatingimusi | Kolm või enam võimalust |
| Pesastatud, kui | Asetab if-i teise if-i sisse | Otsus, mis sõltub teisest tingimusest |
| Kolmepoolne | Tihendab if-else'i ühele reale | Lihtne väärtuse määramine |
| tikuümbris | Vastab väärtusele paljude mustrite suhtes | Mitmesuunaline hargnemine (Python 3.10+) |







