Python Ehdolliset lausunnot: IF…Else, ELIF & Switch Case
⚡ Älykäs yhteenveto
Python Ehdolliset lausekkeet ohjaavat ohjelmakulkua suorittamalla tiettyjä koodilohkoja vain, kun totuusarvolausekkeet antavat arvoksi tosi. Näitä ovat if, else, elif, sisäkkäinen if, kolmioperaattori ja rakenteellinen kuvioiden yhteensovitus selkeää ja päätöksentekoon perustuvaa logiikkaa varten.

Mitä ehdolliset lausekkeet sisältävät Python?
Ehdolliset lausunnot Python suorittavat erilaisia laskutoimituksia tai toimintoja riippuen siitä, onko tietty looginen rajoite tosi vai epätosi. Ne antavat ohjelman tehdä päätöksiä ja seurata eri polkuja sen sijaan, että jokainen rivi suoritettaisiin peräkkäin. Pythonehtolausekkeita käsittelee if lauseke ja sen kumppanit: else, elif ja sisäkkäinen if.
Mikä on Python Jos lausunto?
Python jos selvitys käytetään päätöksentekotoimintoihin. Se sisältää koodin, joka suoritetaan vain, kun if-lausekkeessa annettu ehto on tosi. Jos ehto on epätosi, suoritetaan sen sijaan valinnainen else-lauseke, joka sisältää else-ehdon koodin. Kun haluat toimia yhden ehdon perusteella, vaikka toinen ei ole tosi, käytät Python jos-muu lausunto.
Python jos lausekkeen syntaksi:
if expression:
statement
else:
statement
Python jos… muuten Vuokaavio
Yllä oleva vuokaavio näyttää, miten ohjaus kulkee if-else-lausekkeen läpi. Katsotaanpa esimerkkiä Python if-else-lauseke toiminnassa:
# 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 Rivi 3: Määrittelemme kaksi muuttujaa x, y = 2, 8.
- Code Rivi 4: if-lauseke tarkistaa ehdon x < y, joka on Totta tässä tapauksessa.
- Code Rivi 5: Muuttujan st arvoksi asetetaan ”x on pienempi kuin y”.
- Code Rivi 6: Rivi print(st) tulostaa st:n arvon, joka on ”x on pienempi kuin y”.
Mitä tapahtuu, kun "jos"-ehto ei täyty
Edellisen esimerkin pohjalta katsotaanpa, mitä tapahtuu, kun if-ehto on voimassa Python ei täyty. Kun ehto on epätosi eikä muuta haaraa ole, sisennetty koodi ohitetaan kokonaan.
# 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 Rivi 3: Määrittelemme kaksi muuttujaa x, y = 8, 4.
- Code Rivi 4: if-lauseke tarkistaa ehdon x < y, joka on Väärä tässä tapauksessa.
- Code Rivi 5: Muuttuja st on ÄLÄ aseta "x on pienempi kuin y".
- Code Rivi 6: Rivi print(st) yrittää tulostaa muuttujan, jota ei ole koskaan deklaroitu, joten Python nostaa a Nimivirhe.
Kuinka käyttää "muuten"-ehtoa
Yllä olevan virheen välttämiseksi voit lisätä else-ehdon. Else-ehtoa käytetään, kun sinun on arvioitava yhtä lausetta toisen perusteella. Jos yksi ehto on epätosi, else-lohko tarjoaa vaihtoehtoisen polun, joten ohjelma tuottaa silti tuloksen.
Esimerkiksi:
# 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 Rivi 3: Määrittelemme kaksi muuttujaa x, y = 8, 4.
- Code Rivi 4: if-lauseke tarkistaa ehdon x < y, joka on Väärä tässä tapauksessa.
- Code Rivi 6: Ohjelman ohjauksen kulku siirtyy else-ehtoon.
- Code Rivi 7: Muuttujan st arvoksi asetetaan ”x on suurempi kuin y."
- Code Rivi 8: Rivi print(st) tulostaa st:n arvon, joka on ”x on suurempi kuin y”.
Kun "muuten"-ehto ei toimi
Else-ehto ei aina anna haluttua tulosta. Se voi tulostaa väärän tuloksen, jos ohjelmalogiikassa on virhe. Näin tapahtuu yleensä, kun ohjelmassa on perusteltava useampi kuin kaksi lausetta tai ehtoa. Esimerkki auttaa sinua ymmärtämään tätä käsitettä.
Tässä molemmat muuttujat ovat samat (8, 8), mutta ohjelman tuloste on "x on suurempi kuin y" , joka on VÄÄRINTämä tapahtuu, koska ohjelma tarkistaa ensimmäisen ehdon (jos-ehto), ja jos se epäonnistuu, se tulostaa toisen ehdon (muuten-ehto) oletusarvoisesti. Seuraavassa vaiheessa näemme, kuinka tämä virhe korjataan.
# 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()
Kuinka käyttää ”elif”-ehtoa
Korjataksemme aiemmin else-ehdon tekemän virheen, voimme käyttää elif lauseke. Käyttämällä elif-ehtoa käsket ohjelmaa testaamaan kolmatta mahdollisuutta, kun ensimmäinen ehto on epätosi. Voit ketjuttaa useita elif-ehtoja tarkistaaksesi koodisi neljännen, viidennen ja muut mahdollisuudet.
Esimerkiksi:
# 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 Rivi 3: Määrittelemme kaksi muuttujaa x, y = 8, 8.
- Code Rivi 4: if-lauseke tarkistaa ehdon x < y, joka on Väärä tässä tapauksessa.
- Code Rivi 6: Ohjelman ohjaus siirtyy elif-ehtoon. Se tarkistaa, onko x == y, mikä on tosi.
- Code Rivi 7: Muuttujan st arvoksi asetetaan ”x on sama kuin y. ”
- Code Rivi 10: Ohjelman ohjaus poistuu if-lauseesta (se ei pääse else-lauseeseen) ja tulostaa st. Tulosteena on ”x on sama kuin y”, mikä on oikein.
Kuinka suorittaa ehdollinen lauseke minimaalisella Code
Nyt kun voit kirjoittaa kokonaisia if-elif-else-lohkoja, Python voit tiivistää yksinkertaisen ehdon yhdelle riville. Sen sijaan, että kirjoittaisit erillisen koodin jokaiselle haaralle, voit käyttää kolmiosainen (ehdollinen) lauseke.
Syntaksi:
value_if_true if condition else value_if_false
Esimerkiksi:
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 Rivi 2: Määrittelemme kaksi muuttujaa x, y = 10, 8.
- Code Rivi 3: Muuttujan st arvoksi asetetaan ”x on pienempi kuin y”, jos x < y; muuten siitä tulee ”x on suurempi tai yhtä suuri kuin y”. Koska x > y tässä, st:stä tulee toinen arvo.
- Code Rivi 4: Tulostaa st:n arvon ja antaa oikean tuloksen.
Python Sisäkkäinen if-lausunto
Sisäkkäinen if-lauseke sijoittaa yhden if-lausekkeen toisen sisään, mikä on hyödyllistä, kun päätös riippuu toisesta ehdosta. Seuraava esimerkki havainnollistaa sisäkkäistä if-lauseketta Python joka laskee laivanping hinta perustuu maahan ja tilauksen kokonaissummaan.
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")
Poista yllä olevan koodin rivin 2 kommentti, kommentoi rivi 3 pois ja suorita koodi uudelleen nähdäksesi, miten tuloste muuttuu eri maassa.
Vaihda tapausseloste Python
Mikä on Switch-lauseke?
Switch-lauseke on monisuuntainen haarautumislauseke, joka vertaa muuttujan arvoa case-lausekkeissa määritettyihin arvoihin. Monien vuosien ajan Python kielessä ei ollut switch-lausetta, joten kehittäjät toteuttivat saman toiminnan Python sanakirja karttaping.
Esimerkki sanakirjakartan käytöstä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))
Vaihda kirjainkokoa osumalla (Python 3.10 ja Later)
Koska Python 3.10 (julkaistu lokakuussa 2021), Python tarjoaa natiivin tulitikkukotelo lauseke, joka tunnetaan nimellä rakenteellinen hahmontunnistus. Se tarjoaa siistin ja luettavaan muotoon perustuvan vaihtoehdon pitkille elif-ketjuille ja yllä esitetylle sanakirjalähestymistavalle.
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))
Alaviiva (_) toimii oletusarvoisena tapauksena ja vastaa mitä tahansa arvoa, jota aiemmat tapaukset eivät käsittele, aivan kuten perinteisen switch-lausekkeen oletusarvo.
jos vs. elif vs. muu: Nopea vertailu
Käytä tätä vertailua päättääksesi, mikä ehdollinen rakenne sopii päätöksentekologiikkaasi.
| Lausunto | Tarkoitus | Milloin käyttää |
|---|---|---|
| if | Suorittaa lohkon, kun ehto on tosi | Yksi kyllä/ei-päätös |
| jos…muuten | Tarjoaa varavaihtoehdon, kun ehto on epätosi | Kaksi toisensa poissulkevaa lopputulosta |
| elif | Testaa lisäehtoja peräkkäin | Kolme tai useampia vaihtoehtoja |
| Sisäkkäinen, jos | Sijoittaa jos-merkin toisen jos-merkin sisään | Päätös, joka riippuu toisesta ehdosta |
| Kolmiosainen | Tiivistää if-else-operaattorin yhdelle riville | Yksinkertainen arvonmääritys |
| tulitikkukotelo | Vastaa arvoa useiden mallien kanssa | Monitiehaarautuminen (Python 3.10 +) |







