Ehtorakenne
Ehtorakenne
Jos ulkona sataa, niin ei ole kiva mennä ulos. Jos sinulla ei ole rahaa, niin et voi mennä elokuviin.
Jossittelu usein määrittää sen, että mitä me teemme. Näin on asian laita myös ohjelmoinnissa.
Jotta ohjelmat eivät ole liian suoraviivaisia, niin ohjelmille on tärkeää luoda ehtoja tiettyjen komentojen suorittamiseksi. Ehtojen luominen tapahtuu if-komennolla.
Välitehtävä
If-komennossa verrataan kahta arvoa toisiinsa ehdon toteutumiseksi. Vertailun arvon tulee olla tosi, jotta ehto toteutuu.Yllä olevassa esimerkissä käyttäjän iän piti olla suurempi kuin 10. Muut vertailuoperaattorit on listattu alla:
Jos annettu ehto ei täyty, niin else-komennolla voi määrittää muun tapahtuman.
Välitehtävä
Jos halutaan luoda useampia ehtoja, niin se tapahtuu elif-komennolla (else if). Ensimmäinen ehto kirjoitetaan if-komennolla.
Välitehtävä
Ehtoja voidaan yhdistää and, or ja not -komentojen avulla.
Välitehtävä
Jossittelu usein määrittää sen, että mitä me teemme. Näin on asian laita myös ohjelmoinnissa.
Jotta ohjelmat eivät ole liian suoraviivaisia, niin ohjelmille on tärkeää luoda ehtoja tiettyjen komentojen suorittamiseksi. Ehtojen luominen tapahtuu if-komennolla.
| Esimerkki 1. #Luodaan ohjelma, joka kysyy käyttäjältä hänen ikänsä. Jos ikä on suurempi kuin 10, niin kone sanoo "Oletpa iso poika!". ika = int( input ("Kerro ikäsi:")) if ika > 10: #Ehtona on, että annettu ikä on yli 10. Huomaa kaksoispiste! [[$ \ \ \ \ \ $]]print ("Oletpa iso poika!") #Tämä komento suoritetaan, jos ehto täyttyy. [[$\vdots$]] Kerro ikäsi: 12 Oletpa iso poika! |
Välitehtävä
If-komennossa verrataan kahta arvoa toisiinsa ehdon toteutumiseksi. Vertailun arvon tulee olla tosi, jotta ehto toteutuu.Yllä olevassa esimerkissä käyttäjän iän piti olla suurempi kuin 10. Muut vertailuoperaattorit on listattu alla:
| Vertailuoperaattori | Milloin ehto on totta |
| a == b | a on yhtä kuin b |
| a != b | a ei ole yhtä kuin b |
| a < b | a on pienempi kuin b |
| a <= b | a on pienempi tai yhtä suuri kuin b |
| a > b | a on suurempi kuin b |
| a >=b | a on suurempi tai yhtä suuri kuin b |
Jos annettu ehto ei täyty, niin else-komennolla voi määrittää muun tapahtuman.
| Esimerkki 2. #Luodaan ohjelma, joka kysyy vastausta kertolaskuun. Koneen tulostama vastaus riippuu siitä, että onko käyttäjän vastaus oikein vai väärin. vastaus = int( input ("Kuinka paljon on 2*3?")) if vastaus == 6: #Komento toteutuu, jos vastaus on tasan 6. [[$ \ \ \ \ \ $]] print ("Oikein meni!") else: #Else kertoo mitä tapahtuu, jos vastaus on jotakin muuta. [[$ \ \ \ \ \ $]] print ("Väärin! Harjoittele lisää!") [[$\vdots$]] Kuinka paljon on 2*3? 10 Väärin! Harjoittele lisää! |
Välitehtävä
Jos halutaan luoda useampia ehtoja, niin se tapahtuu elif-komennolla (else if). Ensimmäinen ehto kirjoitetaan if-komennolla.
| Esimerkki 3. #Luodaan ohjelma, kysyy käyttäjältä lukua 1-4 ja kääntää sen ruotsiksi. Jos käyttäjä vastaa jotakin muuta, niin ohjelma vastaa "Förstår du inte?". luku = int( input ("Valitse luku väliltä 1-4:")) if luku == 1: [[$ \ \ \ \ \ $]] print ("Ett!") elif luku == 2: [[$ \ \ \ \ \ $]] print ("Två!") elif luku == 3: [[$ \ \ \ \ \ $]] print ("Tre!") elif luku == 4: [[$ \ \ \ \ \ $]] print ("Fyra!") else: [[$ \ \ \ \ \ $]] print ("Förstår du inte?") [[$\vdots$]] Valitse luku väliltä 1-4: 3 Tre! |
Välitehtävä
Ehtoja voidaan yhdistää and, or ja not -komentojen avulla.
| A or B | A tai B on totta |
| A and B | A ja B ovat molemmat totta |
| not A | A ei ole totta |
| Esimerkki 4. #Luodaan ohjelma, joka kysyy käyttäjältä sukupuolta sekä ikää ja antaa vastauksen niiden perusteella. sukupuoli = input ("Oletko tyttö vai poika?") ika =int (input ("Kerro ikäsi:")) if sukupuoli == "tyttö" and ika < 15: #Ehtona on sukupuoli on tyttö ja ikä on alle 15. [[$ \ \ \ \ \ $]] print ("Olet alle 15-vuotias tyttö.") elif sukupuoli == "tyttö" and ika >= 15: [[$ \ \ \ \ \ $]] print ("Olet vähintään 15-vuotias tyttö.") elif sukupuoli == "poika" and ika < 15: [[$ \ \ \ \ \ $]] print ("Olet alle 15-vuotias poika.") elif sukupuoli == "poika" and ika >= 15: [[$ \ \ \ \ \ $]] print ("Olet vähintään 15-vuotias poika.") [[$\vdots$]] Oletko tyttö vai poika? tyttö Kerro ikäsi: 18 Olet vähintään 15-vuotias tyttö. |
Välitehtävä
Tehtäviä
1. Lisää ohjelmaan kommentit #-merkkien jälkeen, joissa kerrot mikä on kunkin komennon tarkoitus.
luku = int( input ("Kerro jokin luku väliltä 1-100:")) #
if luku < 50: #
[[$ \ \ \ \ \ $]] print ("Luku on alle 50.")
else: #
[[$ \ \ \ \ \ $]] print ("Luku on 50 tai yli.")
2. Luo ohjelma, joka kysyy käyttäjältä salasanaa ja vastaa "oikein" tai "väärin" riippuen vastauksesta. Muista kaksoispiste oikeaan paikkaan!
3. Luo ohjelma, joka kysyy käyttäjältä lukua.
Jos luku on alle kymmenen, niin ohjelma vastaa "Luku on alle kymmenen".
Jos luku on yli kymmenen, niin ohjelma vastaa "Luku on yli kymmenen".
Jos luku on tasan kymmenen, niin ohjelma vastaa "Luku on kymmenen".
4. Luo tietovisa käyttäen alla olevaa ohjelman alkua.
print ("Tervetuloa tietovisaan")
#Tehdään muuuttuja "pisteet" ja asetetaan se nollaan
pisteet = 0
vastaus = input("kirjoita tähän 1. kysymys")
#Jos vastaus on oikein, niin
if vastaus == "kirjoita tähän oikea vastaus":
#Oikeasta vastauksesta pisteet kasvavat yhdellä
[[$ \ \ \ \ \ $]]pisteet += 1
[[$ \ \ \ \ \ $]]print ("Oikein")
[[$ \ \ \ \ \ $]]print("Pisteet", pisteet)
# Jos vastaus on väärin, niin
else:
[[$ \ \ \ \ \ $]]print ("Väärin")
#Sitten seuraava kysymys samaan malliin.
#Lopuksi ohjelman pitäisi tulostaa kokonaispistemäärä näkyviin.
Syventäviä tehtäviä
4. Luo ohjelma, joka kysyy alkuaineiden kemiallisia merkkejä ja antaa pisteitä oikeista vastauksista.
5. Luo ohjelma, joka pyytää arvioimaan Kotkan asukaslukua. Jos vastaus on 5000 tarkkuudella ohjelma tulosta tekstin "Hyvin veikattu", muutoin ohjelma tulostaa tekstin "Väärin".
luku = int( input ("Kerro jokin luku väliltä 1-100:")) #
if luku < 50: #
[[$ \ \ \ \ \ $]] print ("Luku on alle 50.")
else: #
[[$ \ \ \ \ \ $]] print ("Luku on 50 tai yli.")
2. Luo ohjelma, joka kysyy käyttäjältä salasanaa ja vastaa "oikein" tai "väärin" riippuen vastauksesta. Muista kaksoispiste oikeaan paikkaan!
3. Luo ohjelma, joka kysyy käyttäjältä lukua.
Jos luku on alle kymmenen, niin ohjelma vastaa "Luku on alle kymmenen".
Jos luku on yli kymmenen, niin ohjelma vastaa "Luku on yli kymmenen".
Jos luku on tasan kymmenen, niin ohjelma vastaa "Luku on kymmenen".
4. Luo tietovisa käyttäen alla olevaa ohjelman alkua.
print ("Tervetuloa tietovisaan")
#Tehdään muuuttuja "pisteet" ja asetetaan se nollaan
pisteet = 0
vastaus = input("kirjoita tähän 1. kysymys")
#Jos vastaus on oikein, niin
if vastaus == "kirjoita tähän oikea vastaus":
#Oikeasta vastauksesta pisteet kasvavat yhdellä
[[$ \ \ \ \ \ $]]pisteet += 1
[[$ \ \ \ \ \ $]]print ("Oikein")
[[$ \ \ \ \ \ $]]print("Pisteet", pisteet)
# Jos vastaus on väärin, niin
else:
[[$ \ \ \ \ \ $]]print ("Väärin")
#Sitten seuraava kysymys samaan malliin.
#Lopuksi ohjelman pitäisi tulostaa kokonaispistemäärä näkyviin.
Syventäviä tehtäviä
4. Luo ohjelma, joka kysyy alkuaineiden kemiallisia merkkejä ja antaa pisteitä oikeista vastauksista.
5. Luo ohjelma, joka pyytää arvioimaan Kotkan asukaslukua. Jos vastaus on 5000 tarkkuudella ohjelma tulosta tekstin "Hyvin veikattu", muutoin ohjelma tulostaa tekstin "Väärin".