Kenties todistaa sen maineesta tehokkaana ja joustavana ohjelmointikielenä, Python sisältää monia sisäisiä kirjastoja automatisoimaan yleisiä tai monimutkaisia laskennallisia ja matemaattisia tehtäviä. "Matematiikan kirjasto" sisältää monia menetelmiä tyypillisten laskelmien tai toimintojen, kuten pyöristyksen, suorittamiseksi. Pythonissa desimaalien pyöristäminen ei kuitenkaan pyöristä kokonaislukuun, vaan kokonaiseen desimaaliin. Muuntaminen kokonaisluvuiksi vaatii Pythonin matemaattisen kirjaston sekä joidenkin sisäänrakennettujen muunnoskirjastojen käytön.
Python ja pyöristys
Pythonin matemaattinen kirjasto tarjoaa joukon menetelmiä, jotka ovat hyödyllisiä desimaalilukujen pyöristämiseen kokonaislukuihin. Voit pyöristää luvun perinteisellä tavalla (alas lähimpään kokonaislukuun murto-osien ollessa 0,4 tai pienemmät ja ylöspäin osien .5 ja sitä suuremmat) käyttämällä "round()"-menetelmää. Seuraava esimerkki näyttää, kuinka desimaaliluvut pyöristetään pyöristysmenetelmällä:
Päivän video
f = 5,455 >>>pyöristää (f) 5,0 >>>pyöristää (f, 2) //pyöristää 2 desimaalin tarkkuudella 5,46
Katto- ja lattiamenetelmät
Osana matemaattista kirjastoa "floor()"- ja "ceil()"-menetelmät tarjoavat ainutlaatuisen tavan pyöristää desimaalit, joista voi olla hyötyä tietyissä laskelmissa. Lattiamenetelmä pyöristää alaspäin lähimpään kokonaislukuun kohti negatiivista ääretöntä (riippumatta siitä desimaaliarvo), ja kattomenetelmä pyöristää ylöspäin lähimpään kokonaislukuun kohti positiivista ääretön. Seuraava esimerkki näyttää, kuinka nämä kaksi toimintoa toimivat:
tuonti matematiikka >>>f = 3,5 >>>g = -3,5 >>>lattia (f) 3,0 >>> katto (3,5) 4,0 >>>lattia (g) -4,0 >>> katto (g) -3,0
Pyöristys ja kokonaisluvut
Esitetyt pyöristystoiminnot osoittavat, kuinka nämä funktiot toimivat, mutta niissä on myös sivuvaikutus: Python-versioissa ennen 3.0:aa pyöristetyt desimaalit eivät pyöristetä kokonaislukuja, vaan desimaalilukuja. Koska tietokonearkkitehtuurit edustavat desimaalilukuja, tämä voi aiheuttaa ongelmia erittäin tarkoissa laskelmissa, joissa ohjelmoijat saattavat vaatia kokonaislukuja. Voit muuntaa kelluvan luvun kokonaisluvuksi "int()"-menetelmällä, kuten tässä esimerkissä:
f = 3,5 >>>kierros (f) 4,0 >>>int (kierros (f)) 4
Esimerkkimenetelmä
Tämän tiedon avulla voit kehittää menetelmän desimaalien pyöristämiseksi kokonaislukuiksi helposti. Seuraavissa esimerkeissä on lyhyitä esimerkkejä menetelmistä, jotka määrittävät luvun lattian ja katon kokonaislukuna ja toisesta, joka pyöristää käyttäjän määrittämään desimaaliin (tai kokonaislukuun):
tuo matematiikka >>>def integerFloor (x):... return int (lattia (x)) >>>def integerCeiling (x):... return int (ceil (x)) >>>def pyöristys (x, dec):... jos dec == 0:... paluu sisä (kierros (x))... muu:... paluu (pyöristys (x, kav.))