Ce face math.fsum()
fsum() ține evidența tuturor cifrelor pierdute pe parcurs și dă rezultatul corect rotunjit al sumei exacte. Este utilă pentru sume lungi de numere zecimale sau cu valori de mărimi foarte diferite.
Din Python 3.12, și sum() folosește un algoritm mai precis pentru float, dar fsum() rămâne garantat exact.
Parametri
| Parametru | Descriere |
|---|---|
iterabil |
Numerele adunate. |
Ce returnează
Un float.
Exemple
Exemplul 1: Valori de mărimi diferite
import math
valori = [1e20, 1.0, -1e20]
print(sum(valori), math.fsum(valori))
print(math.fsum([0.1] * 10))
Rezultat
1.0 1.0
1.0
Greșeli frecvente
- Folosești
fsumpe numere întregi mari: rezultatul estefloatși poate pierde cifre. Pentru întregi,sum()este exact.
Comenzi înrudite
sum(): Adună toate numerele dintr-o colecție.math.prod() și math.sumprod(): Produsul tuturor elementelor și suma produselor a două liste (produs scalar).statistics.mean(), fmean(), geometric_mean(), harmonic_mean(): Media aritmetică, geometrică și armonică a unei liste de numere.