math.fmod(), math.remainder() și math.modf() în Python

Numere și matematică Python 3.0+ (remainder: 3.7+)

Variante ale restului împărțirii pentru numere zecimale și separarea părții întregi de cea fracționară.

Sintaxă
math.fmod(x, y)
math.remainder(x, y)
math.modf(x)

Ce face math.fmod(), math.remainder() și math.modf()

Operatorul % dă un rest cu semnul împărțitorului. fmod(x, y) dă un rest cu semnul deîmpărțitului (ca în C) și este recomandat pentru float. remainder(x, y) (Python 3.7+) dă restul față de cel mai apropiat multiplu al lui y, deci poate fi negativ chiar pentru numere pozitive.

modf(x) returnează tuplul (parte_fracționară, parte_întreagă), ambele cu semnul lui x.

Parametri

Parametru Descriere
x, y Numere.

Ce returnează

fmod, remainder: float. modf: tuplu de două float.

Exemple

Exemplul 1: Trei feluri de rest

import math
print(-7 % 3, math.fmod(-7, 3), math.remainder(-7, 3))
print(7 % 3, math.fmod(7, 3), math.remainder(7, 3))
print(math.modf(3.75), math.modf(-3.75))

Rezultat

2 -1.0 -1.0
1 1.0 1.0
(0.75, 3.0) (-0.75, -3.0)

Greșeli frecvente

  • Te aștepți ca math.remainder(7, 3) să fie 1. Este 1, dar math.remainder(8, 3) este -1, pentru că 9 este cel mai apropiat multiplu de 3.

Comenzi înrudite