Funkcia najbližšieho celého čísla v Pythone

Možno, že Python potvrdzuje svoju povesť výkonného a flexibilného programovacieho jazyka, obsahuje mnoho interných knižníc na automatizáciu bežných alebo zložitých výpočtových a matematických úloh. "Matematická knižnica" obsahuje mnoho metód na vykonávanie typických výpočtov alebo operácií, ako je zaokrúhľovanie. Zaokrúhľovanie desatinných miest v Pythone však nezaokrúhľuje na celé číslo, ale na celé desatinné číslo. Konverzia na celé čísla vyžaduje použitie matematickej knižnice Python spolu s použitím niektorých vstavaných knižníc na konverziu.

Python a zaokrúhľovanie

Matematická knižnica Python ponúka balík metód užitočných na zaokrúhľovanie desatinných čísel na celé čísla. Číslo môžete zaokrúhliť tradičným spôsobom (nadol na najbližšie celé číslo pre zlomkové časti s hodnotou 0,4 alebo menej a nahor pre časti s hodnotou 0,5 a väčšie) pomocou metódy „round()“. Nasledujúci príklad ukazuje, ako zaokrúhliť desatinné čísla pomocou metódy zaokrúhlenia:

Video dňa

f = 5,455 >>>zaokrúhlenie (f) 5,0 >>>zaokrúhlenie (f, 2) //zaokrúhlenie na 2 desatinné miesta 5,46

Metódy stropu a podlahy

Ako súčasť matematickej knižnice poskytujú metódy "floor()" a "ceil()" jedinečný spôsob zaokrúhľovania desatinných miest, ktorý môžete považovať za užitočný pri určitých výpočtoch. Metóda dna sa zaokrúhľuje nadol na najmenšie najbližšie celé číslo smerom k zápornému nekonečnu (bez ohľadu na to desatinná hodnota) a metóda stropu sa zaokrúhli nahor na najbližšie celé číslo smerom k kladnému číslu nekonečno. Nasledujúci príklad ukazuje, ako tieto dve funkcie fungujú:

import matematika >>>f = 3,5 >>>g = -3,5 >>>poschodie (f) 3,0 >>>strop (3,5) 4,0 >>>poschodie (g) -4,0 >>>strop (g) -3,0

Zaokrúhľovanie a celé čísla

Zobrazené operácie zaokrúhľovania ukazujú, ako tieto funkcie fungujú, ale majú aj vedľajší efekt: vo verziách Pythonu pred 3.0 sa desatinné miesta nezaokrúhľujú na celé čísla, ale na desatinné miesta. Kvôli spôsobu, akým sú desatinné čísla reprezentované počítačovými architektúrami, by to mohlo spôsobiť problémy vo vysoko presných výpočtoch, kde programátori môžu vyžadovať celé čísla. Pohyblivé číslo môžete previesť na celé číslo pomocou metódy „int()“, ako v tomto príklade:

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

Príklad metódy

Pomocou týchto znalostí môžete vyvinúť metódu na ľahké zaokrúhľovanie desatinných miest na celé čísla. Nasledujúce príklady ukazujú krátke príklady metód, ktoré určujú spodnú a hornú hranicu čísla ako celé číslo a iné, ktoré sa zaokrúhľujú na používateľom určené desatinné miesto (alebo celé číslo):

import matematiky >>>def integerFloor (x):... return int (poschodie (x)) >>>def integerStrop (x):... return int (ceil (x)) >>>def zaokrúhľovanie (x, dec):... ak dec == 0:... return int (okrúhle (x))... inak:... návrat (zaokrúhliť (x, dec))