Lähim täisarvuline funktsioon Pythonis

Ehk kinnitab Python oma võimsa ja paindliku programmeerimiskeele mainet, sisaldab palju sisemisi teeke tavaliste või keerukate arvutus- ja matemaatiliste ülesannete automatiseerimiseks. "Matemaatika raamatukogu" sisaldab palju meetodeid tüüpiliste arvutuste või toimingute tegemiseks, nagu ümardamine. Kümnendkohtade ümardamine Pythonis aga ei ümarda täisarvuni, vaid terve kümnendkohani. Täisarvudeks teisendamine nõuab Pythoni matemaatikateegi ja mõne sisseehitatud teisendusteegi kasutamist.

Python ja ümardamine

Pythoni matemaatikateek pakub meetodite paketti, mis on kasulik kümnendarvude ümardamiseks täisarvudeks. Saate ümardada arvu traditsioonilisel viisil (alla lähima täisarvuni murdosade puhul, mis on 0,4 või väiksemad, ja ülespoole 0,5 ja suuremate osade puhul), kasutades meetodit "round()". Järgmine näide näitab, kuidas ümardada kümnendarvud ümardusmeetodil.

Päeva video

f = 5,455 >>>ring (f) 5,0 >>>ring (f, 2) //ümardab kahe kümnendkohani 5,46

Lae- ja põrandameetodid

Matemaatikateegi osana pakuvad meetodid "floor()" ja "ceil()" ainulaadset viisi kümnendkohtade ümardamiseks, mis võib teatud arvutustes kasulikuks osutuda. Põrandameetod ümardab allapoole lähima täisarvuni negatiivse lõpmatuse suunas (olenemata sellest kümnendväärtus) ja ülemmäära meetod ümardatakse lähima täisarvuni positiivse suunas lõpmatus. Järgmine näide näitab, kuidas need kaks funktsiooni töötavad.

impordi matemaatika >>>f = 3,5 >>>g = -3,5 >>>põrand (f) 3,0 >>>lagi (3,5) 4,0 >>>põrand (g) -4,0 >>>lagi (g) -3,0

Ümardamine ja täisarvud

Illustreeritud ümardamistoimingud näitavad, kuidas need funktsioonid töötavad, kuid neil on ka kõrvalmõju: Pythoni versioonides enne 3.0 ümardatakse kümnendkohad mitte täisarvudeks, vaid kümnendkohtadeks. Kuna arvutiarhitektuurides esitatakse kümnendkohti, võib see põhjustada probleeme ülitäpsetes arvutustes, kus programmeerijad võivad nõuda täisarve. Saate teisendada ujuvarvu täisarvuks, kasutades meetodit "int()", nagu selles näites:

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

Näidismeetod

Neid teadmisi kasutades saate välja töötada meetodi kümnendkohtade hõlpsaks ümardamiseks täisarvudeks. Järgmised näited näitavad lühikesi näiteid meetoditest, mis määravad arvu põranda ja lae täisarvuna ning teise, mis ümardatakse kasutaja määratud kümnendkohani (või täisarvuni):

import matemaatika >>>def integerFloor (x):... return int (põrand (x)) >>>def integerCeiling (x):... return int (ceil (x)) >>>def ümardamine (x, dec):... kui kahanemine == 0:... tagasi int (ring (x))... muu:... tagasi (ümmargune (x, kahanemine))