CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, 03.06.2019-31.08.2019
This course space end date is set to 31.08.2019 Search Courses: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Lyhyt opas Python-ohjelmointiin
if-elif-else -ehtolauseet ja vertailuoperaattorit
if-ehtolauseen avulla ohjataan ohjelman suoritusta haluttuun suuntaan. Siitä on kaksi eri muotoa: if-else ja if-elif-else.
if ehto: jos ehto on tosi (True) suoritetaan tämä koodi else: jos ehto on epätosi (False), suoritetaan tämä koodi
Huomaa sisennykset: Pythonissa sisennykset ovat tärkeässä roolissa! Ylläoleva koodi ei toimi, jos if-else-rakennetta ei ole sisennetty.
Vertailuoperaattorit
Ehtolauseissa käytetään hyvin usein vertailuoperaattoreita:
Operaattori | Vertailuoperaattorin merkitys | Esimerkkejä ehtolauseessa |
---|---|---|
== | Yhtäsuuri kuin | if numero == 1000: if nimi == "tytti": |
!= | Erisuuri kuin | if hinta != 10: if vierailija != "loiri": |
> | Suurempi kuin | if massa > 55.5: |
< | Pienempi kuin | if lampotla < 0.0: |
>= | Suurempi tai yhtä suuri kuin | if paine >= 32: |
<= | Pienempi tai yhtä suuri kuin | if tilavuus <= 24: |
if-else
luku = int(input("Anna kokonaisluku:\n")) if luku >= 0: print("Antamasi luku on suurempi tai yhtäsuuri kuin nolla") else: print("Antamasi luku on pienempi kuin nolla")
tulostaa
Anna kokonaisluku: > 5 Antamasi luku on suurempi tai yhtäsuuri kuin nolla
if-ehtolauseita voi olla useita sisäkkäin (huomaa sisennysten käyttö!):
luku = int(input("Anna kokonaisluku:\n")) if luku >= 0: print("Antamasi luku on suurempi tai yhtäsuuri kuin nolla") if luku > 1000: print("Se on jopa suurempi kuin 1000") else: print("Se on kuitenkin enintään 1000") else: print("Antamasi luku on pienempi kuin nolla")
tulostaa
Anna kokonaisluku: > 999 Antamasi luku on suurempi tai yhtäsuuri kuin nolla Se on kuitenkin enintään 1000
if-elif-else
Ehtolauseeseen voi myös lisätä mielivaltaisen määrän lisäehtoja elif-käskyllä:
luku = int(input("Anna kokonaisluku: ")) if luku > 1000: print("Antamasi luku on suurempi kuin tuhat") elif luku > 100: print("Antamasi luku on suurempi kuin sata") elif luku > 10: print("Antamasi luku on suurempi kuin kymmenen") elif luku >= 0: print("Antamasi luku on välillä 0..10") else: print("Antamasi luku on pienempi kuin nolla")
else-osio ei ole pakollinen:
kuukausi = input("Mikä kuukausi nyt on?\n") if kuukausi == "joulukuu": print("Joulu tulla jolkottaa") elif kuukausi == "elokuu": print("Vielä on kesää jäljellä")
Lisätietoja: Liukulukujen yhtäsuuruuden vertailu
Huom! Liukulukujen yhtäsuuruuden vertailun kanssa pitää olla tarkkana! Yhtäsuuruuden vertailu on parasta tehdä math.isclose-funktiolla (lisätietoja 2. kierroksen materiaalissa):