Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

1.9 Ehtolauseet

1.9 Ehtolauseet, if-elif-else

Ohjelmaa kirjoittaessa on usein kätevää, jos ohjelman toiminta muokkaantuisi tilanteen mukaan. Tämä voidaan toteuttaa ehtolauseiden avulla. Yksinkertaisin ehtolause on pelkkä if, jonka rakenne on seuraava:

1.9.1 if rakenne.png

Vain jos ehto on totta, sisennetyt rivit suoritetaan. Ehdon pitää olla tyypiltään boolean, eli tosi tai epätosi (True/False).

Useimmat ohjelmointiympäristöt tekevät sisennyksen automaattisesti, kun kaksoispisteen jälkeen painaa Enter ↵. Sisennyksestä pääsee pois tabulaattorilla Shift + Tab ←nuolet→ tai peruuttamalla painamalla Backspace .

Esimerkkejä if-rakenteesta:

1.9.2 if esimerkki.png

Kun koodin on tarkoitus haarautua kahteen vaihtoehtoiseen polkuun, käytetään if-else-rakennetta:

1.9.3 if else rakenne.png

Jos ehto on totta, sisennetty rivi (rivi 2) suoritetaan. Muussa tapauksessa suoritetaan else-haaran koodi (rivi 4).

Esimerkki if-else –rakenteesta:

1.9.4 if else esimerkki.png

Jos koodilla on enemmän vaihtoehtoisia haaroja, käytetään if-elif-else rakennetta. Else-haara ei ole pakollinen, ja elif-ehtoja voi olla useampia:

1.9.5 if elif else rakenne.png

Else-haaraan päädytään vain, mikäli kaikki sekä if- että elif-haarojen ehdot ovat epätosia. Vaikka else-haara ei ole pakollinen, se on monesti hyödyllinen. Se nimittäin kerää kaikki loput vaihtoehdot ja siten myös mahdolliset virheelliset syötteet.

Esimerkki if-elif-else rakenteesta:

1.9.6 if elif else esimerkki.png

Kun if-tai elif-haarojen ehdot ovat rakenteeltaan monimutkaisempia, niissä voidaan käyttää sulkeita rakennetta selkeyttämään tai määräämään ehtojen tarkistusjärjestystä.

Harjoituksia ehtolausekkeista:

1. Pohdi mitä tekee ohjelmakoodi -harmaat tekstit ovat kommentteja, niitä ei tarvitse kirjoittaa

1.9.7 harjoitus 1 esimerkkikoodi.png

2. Kopioi ylläoleva koodi editoriin ja aja ohjelma. Arvasitko koodin toiminnan oikein? Kokeile myös eri x:n ja y:n arvoilla.

3. Kopioi editoriin seuraava koodi:

1.9.8 harjoitus 3 esimerkkikoodi.png

4. Täydennä koodia siten, että vaihtamalla muuttujan pisteet arvoa, saadaan koearvosanat oheisen taulukon mukaisesti (muista kokeilla koodisi toimivuutta eri pistemäärillä):

taulukko 1.9.png

5. Täydennä koodia siten, että jos pistemäärä on negatiivinen tai yli 40, tulostuu teksti ’Virhe!’.

Ratkaisu:

1.9.9 ratkaisut.png