math.log(), log10(), log2() și log1p() în Python

Numere și matematică Python 3.0+ (log2: 3.3+, log1p: 3.2+)

Logaritmi: natural, în orice bază, în baza 10 și în baza 2.

Sintaxă
math.log(x[, baza])
math.log10(x)
math.log2(x)
math.log1p(x)

Ce face math.log(), log10(), log2() și log1p()

log(x) este logaritmul natural (în baza e). Cu al doilea argument, log(x, b) calculează logaritmul în baza b. log10() și log2() sunt mai precise decât log(x, 10) și log(x, 2).

log1p(x) calculează ln(1 + x) precis pentru x foarte mic. Pentru x negativ sau zero, logaritmii aruncă ValueError.

Parametri

Parametru Descriere
x Un număr pozitiv.
baza Opțional, pentru log. Implicit e.

Ce returnează

Un float.

Exemple

Exemplul 1: Baze diferite

import math
print(math.log(math.e), math.log(100, 10), math.log10(1000), math.log2(1024))
print(math.log(1000, 10), math.log10(1000))
print(math.log1p(1e-12))

Rezultat

1.0 2.0 3.0 10.0
2.9999999999999996 3.0
9.999999999995e-13

Exemplul 2: Câte cifre are un număr și în câți ani se dublează o sumă

import math
n = 987654321
print(math.floor(math.log10(n)) + 1, len(str(n)))
rata = 0.07
print(round(math.log(2) / math.log(1 + rata), 1), "ani")

Rezultat

9 9
10.2 ani

Greșeli frecvente

  • Calculezi math.log(0) și primești ValueError: expected a positive input. Verifică întâi că valoarea este pozitivă.

Comenzi înrudite