Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Johdanto Pythonin If-Elif-Else-Lauseisiin | Pythonin If-Elif-Else-Lauseiden Hallinta
Ohjausvirta Pythonissa

Johdanto Pythonin If-Elif-Else-Lauseisiin

Pyyhkäise näyttääksesi valikon

if-elif-else-lause on tehokas työkalu Pythonissa, jonka avulla voidaan tarkistaa useita ehtoja ja suorittaa eri koodilohkoja sen mukaan, mikä ehto täyttyy. Tämä on erityisen hyödyllistä, kun on useita ehtoja arvioitavana, mutta halutaan suorittaa vain yksi koodilohko.

Kun valitaan useiden ehtojen välillä, elif on suositeltavampi kuin useat peräkkäiset if-lauseet. Tämä johtuu siitä, että elif varmistaa, että kun jokin ehto täyttyy, loput ehdot ohitetaan, mikä parantaa tehokkuutta. Sen sijaan useiden if-lauseiden käyttö johtaa siihen, että kaikki ehdot arvioidaan itsenäisesti, mikä voi aiheuttaa tarpeettomia tarkistuksia ja ylimääräistä koodia.

Seurataan käyttäjän unen kestoa ja luokitellaan se eri alueisiin. Tarkistetaan, onko käyttäjä saavuttanut unetavoitteensa, onko hän lähellä tavoitetta vai tarvitseeko hän lisää lepoa.

1234567891011
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") if hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") if hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") if hours_slept < sleep_goal - 2: print("You need more rest. Try to sleep a bit longer tonight.")

Tässä versiossa kaikki ehdot arvioidaan itsenäisesti, vaikka jokin ehto olisi jo täyttynyt. Tämä johtaa päällekkäisiin tarkistuksiin. Esimerkiksi, jos käyttäjä on jo saavuttanut tavoitteensa, koodi tarkistaa silti, onko hän lähellä tavoitetta tai tarvitseeko lisää lepoa.

1234567891011
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") elif hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") elif hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") else: print("You need more rest. Try to sleep a bit longer tonight.")

elif-rakenteen käyttö parantaa koodin luettavuutta ja tehokkuutta, sillä kun jokin ehto täyttyy, muita ehtoja ei enää tarkisteta.

if elif else -lohko

Tämä kaavio havainnollistaa Pythonin if-elif-else-päätösrakenteen kulkua. Prosessi alkaa arvioimalla ensimmäinen if-ehto:

  • Jos ensimmäinen ehto on tosi, suoritetaan if-lohkon koodi;
  • Jos ensimmäinen ehto on epätosi, siirrytään seuraavaan ehtoon eli elif:iin. Jos elif-ehto on tosi, suoritetaan vastaava elif-lohko;
  • Jos ensimmäinen elif on epätosi, voidaan tarkistaa toinen elif, ja jos se on tosi, suoritetaan sen oma koodilohko;
  • Jos mikään if- tai elif-ehdoista ei täyty (eli kaikki ovat epätosia), suoritetaan lopuksi else-lohko, jolloin varmistetaan, että jokin koodilohko suoritetaan aina.

Tämä rakenne varmistaa, että vain ensimmäinen tosi ehto suoritetaan, mikä tarjoaa selkeän ja tehokkaan tavan käsitellä useita ehtoja. if-elif-else-rakenne välttää turhat tarkistukset, ja koko rakenteesta suoritetaan vain yksi koodilohko.

1. Mikä on if-elif-else-rakenteen etu verrattuna useisiin peräkkäisiin if-lauseisiin?

2. Mitä seuraava koodi tulostaa?

question mark

Mikä on if-elif-else-rakenteen etu verrattuna useisiin peräkkäisiin if-lauseisiin?

Valitse oikea vastaus

question mark

Mitä seuraava koodi tulostaa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 1
some-alt