Najbliža cjelobrojna funkcija u Pythonu

click fraud protection

Možda potvrđuje svoju reputaciju moćnog i fleksibilnog programskog jezika, Python sadrži mnoge interne biblioteke za automatizaciju uobičajenih ili složenih računskih i matematičkih zadataka. "Matematička knjižnica" sadrži mnoge metode za postizanje tipičnih izračuna ili operacija kao što je zaokruživanje. Međutim, zaokruživanje decimala u Pythonu ne zaokružuje na cijeli broj, već na cijelu decimalu. Pretvaranje u cijele brojeve zahtijeva korištenje matematičke biblioteke Python zajedno s korištenjem nekih ugrađenih knjižnica pretvorbe.

Python i zaokruživanje

Python matematička knjižnica nudi paket metoda korisnih za zaokruživanje decimalnih brojeva na cijele brojeve. Broj možete zaokružiti na tradicionalan način (smanje na najbliži cijeli broj za razlomke na .4 ili niže, i na gore za dijelove .5 i veće) koristeći "round()" metodu. Sljedeći primjer pokazuje kako zaokružiti decimalne brojeve pomoću metode zaokruživanja:

Video dana

f = 5,455 >>>okruglo (f) 5,0 >>>okruglo (f, 2) //zaokružuje na 2 decimale 5,46

Stropne i podne metode

Kao dio matematičke biblioteke, metode "floor()" i "ceil()" pružaju jedinstven način za zaokruživanje decimala koji bi vam mogao biti koristan u određenim izračunima. Metoda poda zaokružuje na najmanji najbliži cijeli broj prema negativnoj beskonačnosti (bez obzira na decimalna vrijednost), a metoda gornje granice će zaokružiti na najbliži cijeli broj prema pozitivnom beskonačnost. Sljedeći primjer prikazuje kako funkcioniraju dvije funkcije:

import math >>>f = 3,5 >>>g = -3,5 >>>pod (f) 3,0 >>>ceil (3,5) 4,0 >>>pod (g) -4,0 >>>ceil (g) -3,0

Zaokruživanje i cijeli brojevi

Ilustrirane operacije zaokruživanja pokazuju kako te funkcije funkcioniraju, ali pokazuju i nuspojavu: u verzijama Pythona prije 3.0, zaokružene decimale ne zaokružuju na cijele brojeve, već decimale. Zbog načina na koji su decimale predstavljene računalnim arhitekturama, to bi moglo uzrokovati probleme u visoko preciznim izračunima gdje bi programeri mogli zahtijevati cijele brojeve. Možete pretvoriti plutajući broj u cijeli broj pomoću metode "int()", kao u ovom primjeru:

f = 3,5 >>>okruglo (f) 4,0 >>>int (okruglo (f)) 4

Primjer metode

Koristeći ovo znanje, možete razviti metodu za jednostavno zaokruživanje decimala na cijele brojeve. Sljedeći primjeri pokazuju kratke primjere metoda koje određuju pod i strop broja kao cijeli broj, a drugi koji zaokružuje na decimalno mjesto koje je odredio korisnik (ili cijeli broj):

import math >>>def integerFloor (x):... return int (pod (x)) >>>def integerCeiling (x):... return int (ceil (x)) >>>def zaokruživanje (x, dec):... ako je dec == 0:... return int (okruglo (x))... drugo:... povratak (okruglo (x, dec))