Najbližja celoštevilska funkcija v Pythonu

Python morda potrjuje svoj sloves zmogljivega in prilagodljivega programskega jezika, vendar vsebuje številne notranje knjižnice za avtomatizacijo običajnih ali zapletenih računalniških in matematičnih nalog. "Matematična knjižnica" vsebuje številne metode za izvedbo tipičnih izračunov ali operacij, kot je zaokroževanje. Vendar zaokroževanje decimalk v Pythonu ne zaokrožuje na celo število, ampak na celotno decimalko. Pretvorba v cela števila zahteva uporabo matematične knjižnice Python skupaj z uporabo nekaterih vgrajenih knjižnic za pretvorbo.

Python in zaokroževanje

Matematična knjižnica Python ponuja paket metod, uporabnih za zaokroževanje decimalnih števil na cela števila. Število lahko zaokrožite na tradicionalen način (dol na najbližje celo število za ulomne dele pri 0,4 ali nižje in navzgor za dele 0,5 in več) z uporabo metode "round()". Naslednji primer prikazuje, kako zaokrožiti decimalna števila z uporabo metode zaokroževanja:

Video dneva

f = 5,455 >>>okrogla (f) 5,0 >>>okrogla (f, 2) //zaokroži na 2 decimalki 5,46

Stropne in talne metode

Kot del matematične knjižnice, metodi "floor()" in "ceil()" zagotavljata edinstven način zaokroževanja decimalk, ki se vam lahko zdi uporaben pri določenih izračunih. Metoda nadstropja zaokroži navzdol na najmanjše celo število proti negativni neskončnosti (ne glede na decimalna vrednost), metoda zgornje meje pa bo zaokrožila na najbližje celo število proti pozitivni neskončnost. Naslednji primer prikazuje, kako delujeta obe funkciji:

uvoz matematike >>>f = 3,5 >>>g = -3,5 >>>tla (f) 3,0 >>>strop (3,5) 4,0 >>>tla (g) -4,0 >>>strop (g) -3,0

Zaokroževanje in cela števila

Prikazane operacije zaokroževanja kažejo, kako te funkcije delujejo, kažejo pa tudi stranski učinek: v različicah Pythona pred 3.0 zaokrožene decimalke ne zaokrožujejo na cela števila, temveč na decimalne. Zaradi načina, kako so decimalke predstavljene z računalniškimi arhitekturami, bi to lahko povzročilo težave pri visoko natančnih izračunih, kjer bi programerji morda zahtevali cela števila. Plavajočo številko lahko pretvorite v celo število z uporabo metode "int()", kot je v tem primeru:

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

Primer metode

S tem znanjem lahko razvijete metodo za enostavno zaokroževanje decimalnih mest na cela števila. Naslednji primeri prikazujejo kratke primere metod, ki določajo tla in zgornjo mejo števila kot celo število in drugo, ki zaokroži na uporabniško določeno decimalno mesto (ali celo število):

import math >>>def integerFloor (x):... return int (tla (x)) >>>def integerStrop (x):... return int (ceil (x)) >>>def zaokroževanje (x, dec):... če je dec == 0:... vrni int (krog (x))... drugo:... vrnitev (okrogla (x, dec))