Kun yrität luoda laskun, jossa luku 1 jaetaan luvulla 2, huomaat ettei ohjelmointikielet ole täydellisiä.
# -*- coding: utf-8 -*- def main(): jakolasku = 1 / 2 print jakolasku main()
Ylläoleva ohjelma tulostaa arvon 0
, joka ei ole oikein. Jos numeron 1 jakaa numerolla 2, on lopputulos 0.5 eli puolikas. Edellistä jakamista voi ajatella vaikkapa omenan jakamisena. "Jos pöydällä on yksi omena, ja Antti ja Arto haluavat kumpikin palasen, minkäkokoiset palaset Antti ja Arto saavat. Vastaus: Kummallekin annetaan puolikas.". Ohjelmointikielet eivät osaa jakaa lukuja automaattisesti puolikkaiksi (murtoluvuiksi, tai desimaaliluvuiksi), vaan meidän täytyy vinkata ohjelmointikieltä siitä, että luku saatetaan jakaa desimaaliluvuksi.
Asettamalla joko osoittajan tai nimittäjän (otsa osoittaa, nenä nimittää) desimaaliarvoisen luvun, vihjaamme ohjelmalle siitä, että laskun lopputulos voi olla myös desimaaliluku. Desimaaliluvut ilmaistaan pisteen avulla, esimerkiksi lukua 2
vastaava desimaaliluku on 2.0
. Yritetään jakaa luku 1 luvulla 2 uudestaan, mutta tällä kertaa merkitään luku 2
lukuna 2.0
.
# -*- coding: utf-8 -*- def main(): jakolasku = 1 / 2.0 print jakolasku main()
Kun ajamme ohjelman, se tulostaa tällä kertaa arvon 0.5
, ja laskusuoritus on tapahtunut oikein! Mainiota!
Jos haluamme lukea desimaalilukuja, voimme käyttää komentoa float
.
# -*- coding: utf-8 -*- def main(): luku = float(raw_input("Kirjoita luku: ")) luku = luku / 3 print "Lukusi jaettuna kolmella on " + str(luku) main()
Kirjoita luku: 3.6 Lukusi jaettuna kolmella on 1.2