– Nummer-teoretisk og representasjon funksjoner¶
math.
ceil
(x)¶
gå Tilbake tak i x, den minste heltall større enn eller lik x.Hvis x er ikke en dupp, delegater til x.__ceil__()
, som skal gå i enIntegral
verdi.
math.
comb
(n, k)¶
Returnere antall måter å velge k elementer fra n elementer uten repetitionand uten ordre.,
Beregner n! / (k! * (n - k)!)
ved k <= n
og evaluatesto null når k > n
.
Også kalt den binomiske koeffisient fordi det er equivalentto koeffisienten k-th sikt i polynomisk utvidelse av theexpression (1 + x) ** n
.
Hever TypeError
hvis et av argumentene ikke er heltall.Reiser ValueError
hvis et av argumentene er negative.
Ny i versjon 3.8.,
math.
copysign
(x, y)¶math.
fabs
(x)¶
Return the absolute value of x.
math.
factorial
(x)¶
Return x factorial as an integer. Raises ValueError
if x is not integral oris negative.
Deprecated since version 3.9: Accepting floats with integral values (like 5.0
) is deprecated.,
math.
floor
(x)¶math.
fmod
(x, y)¶
Tilbake fmod(x, y)
, som definert av plattformen C-biblioteket. Vær oppmerksom på at thePython uttrykk x % y
kan ikke gi samme resultat. Hensikten med Cstandard er at fmod(x, y)
være nøyaktig (matematisk; å infiniteprecision) lik x - n*y
for noen heltall n slik at resultatet hasthe samme tegn som x-og størrelsesorden mindre enn abs(y)
., Python ‘ s x % y
returnerer et resultat med tegnet av y i stedet, og kan ikke være nøyaktig computablefor flyte argumenter. For eksempel, fmod(-1e-100, 1e100)
er -1e-100
, butthe resultat av Python ‘ s -1e-100 % 1e100
er 1e100-1e-100
, som ikke berepresented akkurat som en dupp, og runder til overraskende 1e100
. Forthis grunn, funksjon fmod()
er generelt foretrukket når du arbeider withfloats, mens Python ‘ s x % y
er foretrukket når du arbeider med heltall.,
math.
frexp
(x)¶math.
fsum
(iterable)¶
Gå en nøyaktig floating point summen av verdiene i iterable. Avoidsloss av presisjon ved sporing av flere mellomliggende delsummer:
– >
>>> sum()0.9999999999999999>>> fsum()1.0
algoritmen nøyaktighet avhenger av IEEE 754 aritmetiske garantier og thetypical tilfelle hvor avrunding modus er halv-selv., På enkelte ikke-Windowsbuilds, er den underliggende C library bruker utvidet presisjon tillegg og mayoccasionally dobbel-runde på middels summen forårsaker den til å være av itsleast signifikante bit.
For ytterligere diskusjon og to alternative tilnærminger, se ASPN cookbookrecipes for nøyaktig floating point summering.
math.
gcd
(*heltall)¶
Returnerer største felles divisor for de angitte heltall argumenter.Hvis noen av argumentene er ikke-null, så den returnerte verdien er largestpositive heltall som er en divisor av alle argumenter., Hvis alle argumentsare null, så den returnerte verdien er 0
. gcd()
uten argumentsreturns 0
.
Ny i versjon 3.5.
Endret i versjon 3.9: Lagt til støtte for et vilkårlig antall argumenter. Tidligere, bare twoarguments ble støttet.
math.
isclose
(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶
Tilbake True
hvis verdiene a og b er nær hverandre ogFalse
annet.,
Om to verdier er vurdert i nærheten er fastsatt i henhold togiven absolutte og relative toleranser.
rel_tol er relativ toleranse – det er maksimalt tillatt differencebetween a og b, i forhold til større absolutte verdien av a eller b.For eksempel For å angi en toleranse på 5%, pass rel_tol=0.05
. Den defaulttolerance er 1e-09
, som sikrer at de to verdiene er samewithin om 9 desimaler. rel_tol må være større enn null.
abs_tol er minimum absolutt toleranse – nyttig for sammenligninger nearzero., abs_tol må være minst null.
Hvis ingen feil oppstår, vil resultatet være:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
.
IEEE 754 spesielle verdier av NaN
, inf
, og -inf
vil behandled i henhold til IEEE regler. Spesielt, NaN
er ikke consideredclose til noen annen verdi, herunder NaN
. inf
og -inf
er onlyconsidered nær til seg selv.
Ny i versjon 3.5.,
See also
PEP 485 – A function for testing approximate equality
math.
isfinite
(x)¶
Return True
if x is neither an infinity nor a NaN, andFalse
otherwise. (Note that 0.0
is considered finite.)
New in version 3.2.
math.
isinf
(x)¶
Return True
if x is a positive or negative infinity, andFalse
otherwise.,
math.
isnan
(x)¶
Tilbake True
hvis x er et NaN (ikke nummer), og False
annet.
math.
isqrt
(n)¶
Returnerer heltall kvadratroten av ikke-negative heltall n. Dette er thefloor av den eksakte kvadratroten av n, eller tilsvarende den største integera slik at a2 ≤ n.
For noen programmer, kan det være mer praktisk å ha minst integera slik at n ≤ a2, eller med andre ord taket ofthe eksakt kvadratroten av n., For positive n, dette kan beregnes ved hjelp ava = 1 + isqrt(n - 1)
.
Ny i versjon 3.8.
math.
lcm
(*heltall)¶
Returnerer minste felles multiplum av den angitte heltall argumenter.Hvis alle argumentene er ikke-null, så den returnerte verdien er smallestpositive heltall som er et multiplum av alle argumenter. Hvis noen av argumentsis null, så den returnerte verdien er 0
. lcm()
uten argumentsreturns 1
.
Ny i versjon 3.9.,
math.
ldexp
(x, i)¶
Tilbake x * (2**i)
. Dette er i hovedsak den inverse av funksjonfrexp()
.
math.
modf
(x)¶
gå Tilbake til brøk og heltall deler av x. Begge resultatene bære signof x og flyter.
Gå neste floating-point verdi etter x mot y.
Hvis x er lik y, gå tilbake y.
Eksempel:
Se også math.ulp()
.
Ny i versjon 3.9.,
math.
perm
(n, k=Ingen)¶
Returnere antall måter å velge k elementer fra n itemswithout repetisjon og med bestillingen.
Beregner n! / (n - k)!
ved k <= n
og evaluatesto null når k > n
.
Hvis k ikke er angitt eller er Ingen, så k standarder til nand-funksjonen returnerer n!
.
Hever TypeError
hvis et av argumentene ikke er heltall.Reiser ValueError
hvis et av argumentene er negative.,
Ny i versjon 3.8.
math.
prod
(iterable, *, start=1)¶
Beregne produktet av alle elementene i input iterable.Standard start-verdi for produkt er 1
.
Når iterable er tom, går du tilbake til start-verdien. Denne funksjonen isintended spesielt for bruk med numeriske verdier, og kan rejectnon-numeriske typer.
Ny i versjon 3.8.
math.
remainder
(x, y)¶
gå Tilbake IEEE 754-stil resten av x med hensyn til y., Forfinite x og endelig ikke-null y, dette er forskjellen x - n*y
,der n
er det nærmeste heltall til den nøyaktige verdien av kvotienten x /y
. Hvis x / y
er nøyaktig halvveis mellom to etterfølgende heltall, nærmeste selv heltall brukes for n
. Resten r = remainder(x,y)
dermed alltid tilfredsstiller abs(r) <= 0.5 * abs(y)
.,
Spesielle tilfeller følger IEEE 754: i særdeleshet remainder(x, math.inf)
isx for alle finitte x, og remainder(x, 0)
ogremainder(math.inf, x)
heve ValueError
for alle ikke-NaN x.Hvis resultatet av resten drift er null, som null vil havethe samme tegn som x.
På plattformer ved hjelp av IEEE 754 binære floating-point, resultatet av thisoperation er alltid nøyaktig representable: ingen avrunding feil blir introdusert.
Ny i versjon 3.7.,
math.
trunc
(x)¶
Tilbake Real
verdien for x vil bli avkuttet til enIntegral
(vanligvis et heltall). Delegater tilx.__trunc__()
.
math.
ulp
(x)¶
Returnere verdien av den minst signifikante bit av float x:
-
Hvis x er et NaN (ikke nummer), retur x.
-
Hvis x er negativ, retur
ulp(-x)
. -
Hvis x er et positivt infinity, retur x.,
-
Hvis x er lik null, returnerer den minste positivedenormalized representable float (mindre enn den minste positivenormalized flyte,
sys.float_info.min
). -
Hvis x er lik den største positive representable flyte,returnere verdien av den minst signifikante bit av x, slik at firstfloat mindre enn x
x - ulp(x)
. -
Ellers (x er en positiv begrenset antall), returnere verdien av leastsignificant bit av x, slik at den første flyte større enn xis
x + ulp(x)
.,
ULP står for «Enhet i den Siste Plassen».
Se også math.nextafter()
og sys.float_info.epsilon
.
Ny i versjon 3.9.
Merk at frexp()
og modf()
har en annen samtale/retur patternthan sine C-ekvivalenter: de tar ett argument og returnerer et par ofvalues, snarere enn å returnere den andre tilbake verdi gjennom en «outputparameter’ (det er ingen slike ting i Python).,
For ceil()
, floor()
, og modf()
funksjoner, merk at allfloating-punkt-tall av tilstrekkelig stort omfanget er eksakte heltall.Python flyter vanligvis bærer ikke mer enn 53 bits presisjon (samme som theplatform C dobbel type), i hvilket tilfelle float x abs(x) >= 2**52
nødvendigvis har ingen brøk biter.