Seiskaluokan asiat

PRINT

Tekstin tulostaminen tietokoneen ruudulle vaatii komennon print( ). Tulostettava teksti kirjoitetaan sulkeiden sisälle, " -merkkien väliin. 

ESIMERKKI.
print("Mukavaa että alat opetella koodaamista")

Jos haluat tekstin eri riveille, niin kirjoita joka rivi omalla print( ) komennolla TAI
print(""" Tässä
teksti
tulee
usealle
riville.""")

HUOM! Koodin sekaan voit kirjoittaa itsellesi kommenttirivejä eli selityksiä mitä koodilla tarkoitat laittamalla rivin alkuun #-merkin eli risuaita-merkin. Ohjelma ei tulkkaa eli suorita sellaista riviä jonka alussa on #-merkki.

KOODI

OHJELMA TULOSTAA RUUDULLE

print("Mukavaa että alat opetella ohjelmointia!")

Mukavaa että alat opetella ohjelmointia!

print("Matti Mallikas")

Matti Mallikas

print("Matti")

print("Mallikas")

Matti

Mallikas

print(2*4)

#Tämä koodi laskee kertolaskun, ei laiteta lainausmerkkejä!

8

MUUTTUJA

* "laatikko", johon voidaan tallentaa tietoa
* sen ARVO asetetaan = merkillä (eli yhtäsuuruusmerkillä)
* siihen talletettavalla tiedolla on aina jokin tyyppi

STR merkkijono 
INT kokonaisluku
FLOAT desimaaliluku

KOODI

OHJELMA TULOSTAA RUUDULLE

x=3
y=6
print(x+y)


9
x="koo"
y="di"
print(x+y)
print(x,y)


koodi
koo di

 

SYÖTE

Käyttäjältä voidaan pyytää SYÖTE (eli vastaus kysymykseen) komennolla input() 
Käyttäjän antama vastaus pitää tallentaa muuttujan arvoksi.

ESIM. 
luku1=int(input("Anna kokonaisluku:"))
#luku1= tallentaa käyttäjän antaman vastauksen muuttujan luku1 arvoksi
#int() kertoo tulkille vastauksen tyypin olevan kokonaisluku
#input() pyytää syötteen
#lainausmerkkien välissä oleva teksti tulostuu ruudulle kysymykseksi, johon käyttäjä voi vastata.

Huomaa että int() komento ennen input() komentoa kertoo tulkille että luvut ovat kokonaislukuja.
Pelkkä input() komento lukee syötteen merkkijonoksi.

KOODI OHJELMA TULOSTAA RUUDULLE
#koodi, joka pyytää kaksi kokonaislukua, laskee niiden tulon ja tulostaa vastauksen
luku1=int(input("Anna kokonaisluku:"))
luku2=int(input("Anna toinen kokonaisluku:"))
print(luku1*luku2)

Anna kokonaisluku:
Anna toinen kokonaisluku:
(lukujen kertolaskun tulos)


KOODI OHJELMA TULOSTAA RUUDULLE
#koodi, joka muodostaa käyttäjän antamista sanoista yhdyssanan
sana1=str(input("Anna sana:"))
sana2=str(input("Anna toinen sana:"))
print("Antamistasi sanoista muodostuu yhdyssana",sana1+sana2)

Anna sana: KÄSI
Anna toinen sana: LAUKKU
Antamistasi sanoista muodostuu yhdyssana KÄSILAUKKU

VERTAILU

Lukuja voidaan vertailla vertailuoperaattoreiden avulla.
Tulokseksi saadaan joko tosi (true) tai epätosi (false).

Voidaan tulostaa pelkästään vertailun tulos eli true/false
TAI tehdä jatkotoimia, esimerkiksi tulostaa jokin teksti.

vertailu tosi (true), kun 
a==b a ja b ovat yhtäsuuria
a>b a on suurempi kuin b
a>=b a on suurempi tai yhtäsuuri kuin b
a<b a on pienempi kuin b
a<=b a on pienempi tai yhtäsuuri kuin b
a<>b
a!=b
a ja b ovat erisuuria


KOODI OHJELMA TULOSTAA RUUDULLE
#koodi, joka tulostaa vertailun tuloksen
print(3>5)

false

VALINTARAKENTEET if-else JA if-elif-else

Valintarakenteella if-else voidaan tehdä monivaiheisia valintoja eri ehdoilla. Se vastaa suomenkielellä rakennetta jos-muutoin.

if[ehto]:
........[if-osion komennot]
else:
........[else-osion komennot]

(HUOM. Poista pisteet oikeaa koodia kirjoittaessasi, sisennys jouduttu nyt toteuttamaan niitä käyttäen)

Jos ehto on tosi (true) niin suoritetaan if-osion komennot, muulloin (eli jos ehto on epätosi (false)) suoritetaan else-osion komennot.

On tärkeää huomata, että Pythonissa välilyönti tai sisennys määrittelee mihin kokonaisuuteen rivi loogisesti kuuluu.
Ne koodin osat, jotka halutaan samaan kokonaisuuteen, on sijoitettava samalle sisennystasolle. Sisennyksien sääntöjä on noudatettava!

KOODI OHJELMA TULOSTAA RUUDULLE    
luku=int(input("Anna kokonaisluku väliltä 1-10:"))
if luku>5:
..................print("Luku on suurempi kuin 5.")
else:
.........print("Luku on pienempi kuin 5.")
print("Että tällä tavalla!")





vaihtoehdot kuvattuna alla olevissa soluissa...


   
#Punainen numero on käyttäjän antama numero. Anna kokonaisluku väliltä 1-10: 7
Luku on suurempi kuin 5.
Että tällä tavalla! 
Anna kokonaisluku väliltä 1-10: 4
Luku on pienempi kuin 5. 
Että tällä tavalla!
Anna kokonaisluku väliltä 0-10: 5
Luku on pienempi kuin 5.
Että tällä tavalla! 

Koodin loppuun kirjoitettu print() komennon teksti tulostuu joka kerta, koska se on kirjoitettu heti rivin alkuun.


Yllä olevassa taulukossa esiin tuleva "virhe" (annettaessa luvuksi 5 tulostuu virheellinen tieto, että luku on pienempi kuin 5, poistuu käyttämällä valintarakennetta if-elif-else.

if[1.ehto]:
........[if-osion komennot]
elif:[2.ehto]:
........[elif-osion komennot]
elif[3.ehto]:
.........[elif-osion komennot]
else:
........[else-osion komennot]


Tämä rakenne antaa enemmän mahdollisuuksia monitasoiseen valintaan. Se vastaa suomenkielellä rakennetta jos-muutoin jos-muutoin.
(HUOM. Poista pisteet oikeaa koodia kirjoittaessasi, sisennys jouduttu nyt toteuttamaan niitä käyttäen.)

KOODI OHJELMA TULOSTAA RUUDULLE    
luku=int(input("Anna kokonaisluku väliltä 1-10:"))
if luku>5:
..................print("Luku on suurempi kuin 5.")
elif luku<5:
.........print("Luku on pienempi kuin 5.")
else:
.........print("Luku on 5.")





vaihtoehdot kuvattuna alla olevissa soluissa...
   
#Punainen numero on käyttäjän antama numero. Anna kokonaisluku väliltä 1-10: 7
Luku on suurempi kuin 5. 
Anna kokonaisluku väliltä 1-10: 4
Luku on pienempi kuin 5. 
Anna kokonaisluku väliltä 0-10: 5
Luku on 5.