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:
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:
Kun koodin on tarkoitus haarautua kahteen vaihtoehtoiseen polkuun, käytetään if-else-rakennetta:
Jos ehto on totta, sisennetty rivi (rivi 2) suoritetaan. Muussa tapauksessa suoritetaan else-haaran koodi (rivi 4).
Esimerkki if-else –rakenteesta:
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:
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:
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
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:
4. Täydennä koodia siten, että vaihtamalla muuttujan pisteet arvoa, saadaan koearvosanat oheisen taulukon mukaisesti (muista kokeilla koodisi toimivuutta eri pistemäärillä):
5. Täydennä koodia siten, että jos pistemäärä on negatiivinen tai yli 40, tulostuu teksti ’Virhe!’.
Ratkaisu: