Valintalauseet

Valintalauseet eli If-lauseet

Valintalauseessa on haarautumisehto, jolla ohjelman suoritus saadaan haarautumaan jonkin ehdon mukaan. Pythonissa valintarakenne kirjoitetaan omana ohjelmalohkona, jonka IDLE-editori sisentää automaattisesti. If-rakenteeseen voidaan liittää vaihtoehtoinen else-haara, joka suoritetaan vain jos If-lause on epätosi (False).

Esimerkki: If-lause ilman else-haaraa

sana=input("kirjoita sana: ") #Muuttujan nimi tässä on sana
if "a" in sana: #Jos ehto..
 print("sanassa on a-kirjaimia") #... niin mitä tapahtuu (Huom sisennys)

Kysyy käyttäjälta sanan ja tulostaa tekstin sanassa on a-kirjaimia, jos sana sisältää a-kirjaimia

Esimerkki: If-lause else-haaran kanssa

sana=input("kirjoita sana: ") 
if "a" in sana:
 print("sanassa on a-kirjaimia")
else:
 print("sanassa ei ole a-kirjaimia")

Tulostaa tekstin sanassa ei ole a-kirjaimia, jos sanassa ei ole a-kirjaimia.

Tehtävät

Tehtävä 1:

Aloita uusi tiedosto nimellä Valintalause. Kirjoita ohjelma, jossa muuttuja nimeltä numero kysyy käyttäjältä nelinumeroisen kokonaisluvun ja tulostaa tekstin kuuseen kapsahti kalikka, jos se sisältää numeron 6.

Testaa toimiiko ohjelmasi. Mitä tapahtuu jos syötettävä luku ei sisällä numeroa 6?

Huom: Tyypinmuunnos ei tässä välttämätön


Tehtävä 2:

Tee samaan ohjelmaan else-haara, joka tulostaa tekstin poika saunoo jos syötettävä luku ei sisällä numeroa 6.

Testaa molemmissa tapauksissa toimiiko ohjelmasi.

Tehtävä 3: 

Aloita uusi tiedosto nimellä Valintalause2. Kirjoita ohjelma, jossa käyttäjältä kysytään kaksi kokonaislukua a ja b, jonka jälkeen ohjelma laskee lukujen erotuksen a-b. Laskutoimituksen jälkeen ohjelma tulostaa seuraavasti:

  • jos erotus on pienempi kuin 0, tulostetaan "Erotus on negatiivinen"
  • jos erotus on suurempi kuin 0 tulostetaan "Erotus on positiivinen"
  • jos erotus on yhtä suuri kuin 0, tulostetaan "Kokonaisluvut ovat yhtä suuret"
Huom: Kun teet muuttujat a ja b muista tehdä tyypinmuutos int-komennolla, jotta ohjelma tulkitsee syötettävät merkit kokonaisluvuiksi

Testaa ohjelman toimivuus jokaisessa tilanteessa.