Artimiausia sveikojo skaičiaus funkcija Python

Galbūt tai patvirtina savo, kaip galingos ir lanksčios programavimo kalbos, reputaciją, Python turi daug vidinių bibliotekų, skirtų automatizuoti įprastas ar sudėtingas skaičiavimo ir matematines užduotis. „Matematikos bibliotekoje“ yra daug metodų, leidžiančių atlikti tipinius skaičiavimus arba operacijas, tokias kaip apvalinimas. Tačiau Python apvalinant dešimtainius skaičius apvalinamas ne iki sveikojo skaičiaus, o iki viso po kablelio. Norint konvertuoti į sveikuosius skaičius, reikia naudoti Python matematikos biblioteką ir kai kurias integruotas konvertavimo bibliotekas.

Python ir apvalinimas

Python matematikos biblioteka siūlo metodų paketą, naudingą dešimtainiams skaičiams suapvalinti iki sveikųjų skaičių. Galite suapvalinti skaičių tradiciniu būdu (mažinti iki artimiausio sveikojo skaičiaus, jei trupmeninės dalys yra 0,4 arba mažesnės, ir iki 0,5 ir didesnės dalys iki artimiausio sveikojo skaičiaus), naudodami "apvalaus()" metodą. Šiame pavyzdyje parodyta, kaip suapvalinti dešimtainius skaičius naudojant apvalinimo metodą:

Dienos vaizdo įrašas

f = 5,455 >>>apvalinti (f) 5,0 >>>apvalinti (f, 2) //apvalinti iki 2 dešimtųjų 5,46

Lubų ir grindų metodai

Kaip matematikos bibliotekos dalis, metodai "floor()" ir "ceil()" suteikia unikalų dešimtainių skaičių apvalinimo būdą, kuris gali būti naudingas atliekant tam tikrus skaičiavimus. Grindų metodas apvalinamas iki artimiausio sveikojo skaičiaus iki neigiamos begalybės (neatsižvelgiant į dešimtainė reikšmė), o viršutinės ribos metodas suapvalinamas iki artimiausio sveikojo skaičiaus iki teigiamo begalybė. Toliau pateiktame pavyzdyje parodyta, kaip veikia dvi funkcijos:

importo matematika >>>f = 3,5 >>>g = -3,5 >>>grindys (f) 3,0 >>>lubos (3,5) 4,0 >>>grindys (g) -4,0 >>>lubos (g) -3,0

Apvalinimas ir sveikieji skaičiai

Pavaizduotos apvalinimo operacijos parodo, kaip šios funkcijos veikia, tačiau jos taip pat rodo šalutinį poveikį: Python versijose iki 3.0 dešimtainės trupmenos suapvalinamos ne iki sveikųjų skaičių, o dešimtainių. Dėl to, kaip kompiuterių architektūroje pateikiami dešimtainiai skaičiai, tai gali sukelti problemų atliekant didelio tikslumo skaičiavimus, kai programuotojams gali prireikti sveikųjų skaičių. Galite konvertuoti slankųjį skaičių į sveikąjį skaičių naudodami "int()" metodą, kaip parodyta šiame pavyzdyje:

f = 3,5 >>>apvalus (f) 4,0 >>>int (raundas (f)) 4

Metodo pavyzdys

Naudodamiesi šiomis žiniomis, galite sukurti metodą, kaip lengvai suapvalinti dešimtainius iki sveikųjų skaičių. Šiuose pavyzdžiuose pateikiami trumpi pavyzdžiai metodų, kurie apibrėžia skaičiaus aukštį ir lubas kaip sveikąjį skaičių, o kitą, kuris apvalina iki vartotojo nurodytos dešimtainės dalies (arba sveikojo skaičiaus):

importuoti matematiką >>>def integerFloor (x):... return int (aukštas (x)) >>>def integerLubos (x):... return int (ceil (x)) >>>def apvalinimas (x, dec):... jei dec == 0:... grįžti int (apvalus (x))... Kitas:... grąžinimas (apvalus (x, dec))