Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

2.2 Desimaaliluvut

Python-kielessä desimaaliluvut esitetään pisteen, eikä pilkun avulla. Päättymättömissä desimaaliluvuissa tulostuu näytölle 15 ensimmäistä desimaalia. Esimerkiksi:
2.2.2 tuloste.PNG

Mikäli desimaaliluvussa esiintyy säännöllisesti toistuva numerosarja, sitä kutsutaan jaksolliseksi desimaaliluvuksi. Esimerkiksi luvun 7,191919… jakso on 19, ja jakson pituus on kaksi numeroa.

Desimaalilukujen laskutoimitukset kirjoitetaan aivan kuten kokonaisluvuillakin. Seuraavat esimerkit kuvaavat, kuinka Pythonissa lasketaan desimaaliluvuilla.

Yhteen- ja vähennyslasku:
2.2.3 desimaaliluvut esimerkki 2.PNG

Kerto- ja jakolasku:
2.2.4 desimaaliluvut esimerkki 3.PNG

Huomioita:

Python-ohjelmasta ja versiosta riippuen desimaaliluvuilla laskettaessa tulostus saattaa hieman vaihdella. Vanhemmissa versioissa (Python 2.7) tulos on kokonaisluku, mikäli kaikki laskuoperaatiossa olevat muuttujat ovat kokonaislukuja. Uudemmissa versioissa (Python 3.6) puolestaan tulos on aina desimaaliluku (liukuluku), mikäli tulosta ei erikseen muuta int-tyypiksi. Int ei kuitenkaan pyöristä lukua, vaan ainoastaan katkaisee desimaaliosan pois.

Desimaaliluvuilla laskettaessa saattaa välillä törmätä seuraavanlaisiin ongelmiin:
2.2.5 ohjelmoinnillinen ongelma desimaaliluvuissa.png

Tämä johtuu tietokoneen binääristen liukulukujen käsittelystä ja esitystavasta. Toinen yllä olevista esimerkeistä on lähteestä https://docs.python.org/3.6/library/decimal.html, jossa asiasta on kerrottu lisää.

Harjoituksia desimaaliluvuista:

1. Laske. Pohdi vastausta ensin päässäsi ja kirjoita siten sopiva koodi editoriin.

a. 1,25+0,85

b. −0,1 − (−1,0)

c. 1,5∙4

d. 0,0027∙100

e. 2,67∶1 000

f. 4∶0,5

2. Laske editorissa. Onko saatu arvo päättyvä vai päättymätön desimaaliluku?

a. 2 : 5

b. 9 : 11

c. 3 : 8

d. 89 : 235

3. Laske editorissa. Mikä on desimaaliluvun jakso ja sen pituus?

a. 5 : 11

b. 279 : 111

c. 13 : 37

d. 36 : 52

4. Onko väite totta? Pohdi vastausta ensin ja kirjoita sitten sopiva koodi editoriin (kertaa totuusarvot luvusta 1.8)

a. 1,501>1,510

b. −0,032>0,023

c. −0,5∙3= −1,5

d. 6∶0,2=0,3

5. Voit pelata pientä peliä desimaaliluvuista. Kopioi peli editoriin ja vastaa kysymyksiin. Pelistä pääsee pois klikkaamalla punaista neliötä tai repl.it:n stop-näppäintä. Jos haluat ja uskallat, voit myös laajentaa peliä (kysytään esimerkiksi mitä on kymmenien tai tuhannesosien paikalla. Voit myös kokeilla arpoa (ks random kpl 1.12) desimaaliluvun.

Koodi kuvana:
2.2.koodi_kuvana.PNG
Linkki Word-dokumenttiin, josta voit maalata kuvan koodia:

2.2.koodi.docx

Ratkaisut:

2.2.6 ratkaisut.png