logo

Kaip suapvalinti skaičius Python?

Šiame straipsnyje aptarsime, kaip suapvalinti skaičius „Python“ naudojant tinkamus metodus ir pavyzdžius Kaip suapvalinti Python .

Pavyzdys:



  Input:   3.5   Output:   4   Explanation:   Nearest whole number.   Input:   3.74   Output:   3.7   Explanation:   Rounded to one decimal place.>

Suapvalinti skaičius Python

Skaičiaus apvalinimas reiškia, kad skaičius supaprastinamas išlaikant jo reikšmę nepakitusią, bet arčiau kito skaičiaus. Yra įvairių „Python“ skaičių apvalinimo būdų. Čia aptariame kai kuriuos dažniausiai naudojamus metodus Kaip suapvalinti Python , Toliau pateikiami šie punktai, kurie bus aptariami šiame straipsnyje naudojant Python:

  • Naudojant įtaisytąją round() funkciją
  • Naudojant Sutrumpinimas koncepcija
  • Naudojant Math.ceil() ir Math.floor() funkcijas
  • Naudojant matematika.luba
  • Naudojant matematika.aukštas
  • Naudojant numpy> Modulis
  • Naudojant Apvalinimas Šališkumo koncepcija
  • „Python“ apvalinimas per pusę nuo nulio

Apvalūs skaičiai Python u dainuoti Įmontuotas apvalus () Funkcija

Python yra įmontuotas round() funkcija kuris apvalina skaičių iki nurodyto skaitmenų skaičiaus. Funkcija round() priima du skaitinius argumentus – n ir n skaitmenų, o tada, suapvalinusi jį iki n skaitmenų, grąžina skaičių n. Jei skaitmenų skaičius nėra numatytas apvalinti, funkcija suapvalina nurodytą skaičių n iki artimiausio sveikojo skaičiaus.

kas yra hashset java

Pavyzdys : Šiame pavyzdyje toliau pateiktas kodas rodo sveikųjų skaičių ir slankiojo kablelio skaičių funkciją „round()“. Jis taip pat iliustruoja apvalinimą iki dviejų skaičių po kablelio, parodydamas atvejus, kai kitas skaitmuo yra 5, didesnis nei 5 ir mažesnis nei 5.



Python3






# For integers> print>(>round>(>11>))> # For floating point> print>(>round>(>22.7>))> # if the second parameter is present> # when the (ndigit+1)th digit is =5> print>(>round>(>4.465>,>2>))> > # when the (ndigit+1)th digit is>=5>> (>round>(>4.476>,>2>))> > # when the (ndigit+1)th digit is <5> print>(>round>(>4.473>,>2>))>

>

>

Išvestis:

11 23 4.46 4.48 4.47>

Apvalūs skaičiai Python u dainuoti Sutrumpinimas koncepcija

Šioje funkcijoje kiekvienas skaitmuo po tam tikros padėties pakeičiamas 0. python sutrumpinti () funkcija galima naudoti su teigiamais ir neigiamais skaičiais. Sutrumpinimo funkcija gali būti įgyvendinta taip:

  • Skaičių padauginimas iš 10^p (10 pakelta į pthgalia), kad dešimtainis taškas p būtų perkeltas į dešinę.
  • Naujo skaičiaus sveikosios dalies paėmimas naudojant int().
  • Po kablelio p perkėlimas atgal į kairę, padalijus iš 10^p.

Python3




# defining truncate function> # second argument defaults to 0> # so that if no argument is passed> # it returns the integer part of number> def> truncate(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> int>(n>*> multiplier)>/> multiplier> print>(truncate(>16.5>))> print>(truncate(>->3.853>,>1>))> print>(truncate(>3.815>,>2>))> # we can truncate digits towards the left of the decimal point> # by passing a negative number.> print>(truncate(>346.8>,>->1>))> print>(truncate(>->2947.48>,>->3>))>

>

>

Išvestis:

16.0 -3.8 3.81 340.0 -2000.0>

Apvalūs skaičiai Python u dainuoti Math.ceil() ir Math.floor() funkcijas

Matematika . lubos () : Ši funkcija grąžina artimiausią sveikąjį skaičių, kuris yra didesnis arba lygus nurodytam skaičiui.
Math.floor() : Ši funkcija grąžina artimiausią sveikąjį skaičių, mažesnį arba lygų tam skaičiui.

Pavyzdys :Šiame pavyzdyje toliau pateiktame kode naudojama „matematikos“ biblioteka, kad apskaičiuotų viršutines reikšmes teigiamoms ir neigiamoms dešimtainėms dalims su „math.ceil“, o žemiausios ribos vertes su „math.floor“. Atitinkamais atvejais išvestis yra 5, 0, 2 ir -1.

Python3




# import math library> import> math> # ceil value for positive> # decimal number> print>(math.ceil(>4.2>))> # ceil value for negative> # decimal number> print>(math.ceil(>->0.5>))> # floor value for decimal> # and negative number> print>(math.floor(>2.2>))> print>(math.floor(>->0.5>))>

>

>

Išvestis:

5 0 2 -1>

Apvalūs skaičiai Python u dainuoti matematiką.ceil

Norėdami suapvalinti skaičių aukštyn, dešimtainis taškas perkeliamas į dešinę, suapvalinamas aukštyn, o tada perkeliamas atgal į kairę, kad būtų tikslumas naudojant ' math.ceil() ` ir daugybos/dalybos operacijos.

Pavyzdys :Šiame pavyzdyje toliau pateiktas kodas apibrėžia funkciją „apvalinti į viršų“, naudodama „matematikos“ biblioteką, kuri suapvalina skaičių iki nurodyto dešimtainio skaičiaus. Tikslumui užtikrinti naudojamas dauginimas, apvalinimas naudojant „math.ceil()“ ir padalijimas. Teigiamos ir neigiamos reikšmės tikrinamos apvalinant.

Python3




# import math library> import> math> # define a function for> # round_up> def> round_up(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier)>/> multiplier> # passing positive values> print>(round_up(>2.1>))> print>(round_up(>2.23>,>1>))> print>(round_up(>2.543>,>2>))> # passing negative values> print>(round_up(>22.45>,>->1>))> print>(round_up(>2352>,>->2>))>

>

>

Išvestis:

3.0 2.3 2.55 30.0 2400.0>

Galime vadovautis toliau pateikta diagrama, kad suprastume apvalinimą aukštyn ir žemyn. Apvalinkite aukštyn į dešinę ir žemyn į kairę.

Supratimas apie apvalinimą aukštyn ir žemyn

Suapvalinus skaičių eilutėje esantis skaičius visada suapvalinamas į dešinę, o apvalinant žemyn skaičius visada apvalinamas į kairę skaičių eilutėje.

Apvalūs skaičiai Python u dainuoti matematika.aukštas

Apvalinant žemyn skaičius suapvalinamas iki nurodyto skaitmenų skaičiaus. Apvalinimo funkcija gali būti įgyvendinta taip:

  • Pirma, n dešimtainis kablelis perkeliamas į teisingą vietų skaičių į dešinę, padauginus n iš 10 ** kablelio.
  • Nauja reikšmė suapvalinama iki artimiausio sveikojo skaičiaus naudojant math.floor() .
  • Galiausiai kablelis perkeliamas atgal į kairę, padalijus iš 10 ** kablelio.

Python3




import> math> # defining a function for> # round down.> def> round_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier)>/> multiplier> # passing different values to function> print>(round_down(>2.5>))> print>(round_down(>2.48>,>1>))> print>(round_down(>->0.5>))>

>

>

Išvestis:

2.0 2.4 -1.0>

Apvalūs skaičiai Python u dainuoti Numpy Module

NumPy modulis Python suteikia numpy.round()>funkcija į apvalius skaičius. Ši funkcija apvalina kiekvieną masyvo elementą iki artimiausio sveikojo skaičiaus arba iki nurodyto kablelio skaičiaus.

Pavyzdys : Šiame pavyzdyje toliau pateiktas kodas naudoja modulį NumPy, kad sukurtų masyvą „arr“ ir kiekvieną elementą suapvalina iki artimiausio sveikojo skaičiaus („apvalinti_sveikieji skaičiai“) ir iki dviejų skaičių po kablelio („apvalinti_dešimtieji“). Tada rezultatai atspausdinami ir rodomi.

Python3




import> numpy as np> # Creating an array> arr>=> np.array([>1.234>,>2.567>,>3.789>])> # Rounding each element to the nearest integer> rounded_integers>=> np.>round>(arr)> # Rounding each element to two decimal places> rounded_decimals>=> np.>round>(arr, decimals>=>2>)> # Displaying the results> print>(>'Nearest integer:'>, rounded_integers)> print>(>'Decimal places:'>, rounded_decimals)>

>

>

Išvestis:

Nearest integer: [1. 3. 4.] Decimal places: [1.23 2.57 3.79]>

Apvalūs skaičiai Python u dainuoti Apvalinimo šališkumas koncepcija.

Simetrijos sąvoka pristato apvalinimo poslinkio sąvoką, kuri apibūdina, kaip apvalinimas paveikia skaitinius duomenų rinkinio duomenis.
Apvalinimo strategija nukreipta į teigiamą begalybės poslinkį, nes vertė visada suapvalinama teigiamos begalybės kryptimi. Panašiai apvalinimo žemyn strategija yra link neigiamo begalybės poslinkio. Sutrumpinimo strategija nukreipta į neigiamą begalybės poslinkį teigiamoms reikšmėms ir apvali link teigiamos begalybės neigiamų verčių atžvilgiu. Teigiama, kad suapvalinimo funkcijos su tokiu elgesiu paprastai yra nulinio poslinkio link.

a) Suapvalinti pusę į viršų koncepcija Python

Apvalinant pusę į viršų kiekvienas skaičius suapvalinamas iki artimiausio skaičiaus nurodytu tikslumu ir nutraukiamas ryšys apvalinant aukštyn.
Apvalinimo pusiausvyros strategija įgyvendinama perkeliant kablelį į dešinę norimu skaičiumi. Tokiu atveju turėsime nustatyti, ar skaitmuo po perkelto kablelio yra mažesnis arba didesnis nei 5.
Prie perkeliamos reikšmės galime pridėti 0,5 ir suapvalinti ją į apačią naudodami funkciją math.floor().

Funkcijos round_half_up() įgyvendinimas:

Pavyzdys: Šiame pavyzdyje toliau pateiktas kodas apibrėžia „round_half_up“ – tinkintą apvalinimo funkciją naudojant apvalinimo pusę į viršų metodą su „math.floor()“, kad būtų tikslumas. Demonstracijose pateikiami teigiami ir neigiami skaičiai su įvairiais skaičiais po kablelio.

Python3




import> math> # defining round_half_up> def> round_half_up(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier>+> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_up(>1.28>,>1>))> print>(round_half_up(>->1.5>))> print>(round_half_up(>->1.225>,>2>))>

>

>

Išvestis:

1.3 -1.0 -1.23>

b) Pusės apvalinimas žemyn koncepcija Python

Tai suapvalinama iki artimiausio skaičiaus, panašus į apvalinimo pusę į viršų metodą, skirtumas tas, kad nutraukia ryšius apvalinant iki mažesnio iš dviejų skaičių. Apvalinimo pusiau į apačią strategija įgyvendinama pakeičiant math.floor() funkcijoje round_half_up() į math.ceil() ir atimant 0,5, o ne pridėjus.

Funkcijos round_half_down() įgyvendinimas:

Šiame pavyzdyje toliau pateiktas kodas apibrėžia „round_half_down“, naudodamas „matematikos“ biblioteką, kad būtų pasiektas apvalios pusės sumažinimas. Jis naudoja daugybą, atimtį ir „math.ceil()“, kad apvalintų iki nulio. Bandomieji atvejai apima teigiamus ir neigiamus po kablelio skaičius, suapvalinant iki vieno skaičiaus po kablelio.

Python3




# import math library> import> math> # defining a function> # for round_half_down> def> round_half_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier>-> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_down(>2.5>))> print>(round_half_down(>->2.5>))> print>(round_half_down(>2.25>,>1>))>

>

>

Išvestis:

2.0 -3.0 2.2>

„Python“ apvalinimas per pusę nuo nulio

Apvalinant per pusę nuo nulio, turime pradėti kaip įprasta, perkeldami dešimtainį tašką į dešinę tam tikrą skaičių vietų ir tada naujame skaičiuje iškart pastebėsime skaitmenį (d), esantį dešinėje nuo kablelio. Yra keturi atvejai, į kuriuos reikia atsižvelgti:

  • Jei n teigiamas ir d>= 5, suapvalinkite
  • Jei n teigiamas ir d = 5, suapvalinkite žemyn
  • Jei n yra neigiamas ir d>= 5, suapvalinkite žemyn
  • Jei n yra neigiamas, o d <5, suapvalinkite

Suapvalinus pagal pirmiau minėtas taisykles, dešimtainį skaičių galime perkelti atgal į kairę.

  • Apvalinimas nuo pusės iki lygos: Yra būdas sumažinti apvalinimo šališkumą, kai apvaliname duomenų rinkinio vertes. Galime tiesiog suapvalinti kaklaraiščius iki artimiausio lyginio skaičiaus norimu tikslumu. Pusės apvalinimo iki lyginio strategija yra strategija, kurią naudoja integruotasis Python round (). The dešimtainė klasė palaiko greitą teisingai suapvalintą dešimtainę slankiojo kablelio aritmetiką. Tai suteikia keletą pranašumų, palyginti su plūduriuojančiu duomenų tipu. Numatytoji dešimtainio modulio apvalinimo strategija yra ROUND_HALF_EVEN.

Pavyzdys: Šiame pavyzdyje toliau pateiktame kode naudojama funkcija „Decimal“ iš „dešimtainės“ bibliotekos, kad tiksliai pavaizduotų dešimtainius skaičius. Tai prieštarauja „Dešimtainio“ objekto kūrimui iš eilutės ir tiesiogiai iš slankiojo kablelio skaičiaus. Funkcija „quantize()“ naudojama apvalinant nurodytais skaičiais po kablelio, kad būtų parodytas dešimtainės aritmetikos tikslumas.

Python3




# import Decimal function from> # decimal library> from> decimal>import> Decimal> print>(Decimal(>'0.1'>))> print>(Decimal(>0.1>))> # Rounding a Decimal number is> # done with the .quantize() function> # '1.0' in .quantize() determines the> # number of decimal places to round the number> print>(Decimal(>'1.65'>).quantize(Decimal(>'1.0'>)))> print>(Decimal(>'1.675'>).quantize(Decimal(>'1.00'>)))>

>

>

Išvestis:

0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.68>