Python Language Radice quadrata: math.sqrt () e cmath.sqrt


Esempio

Il modulo math contiene la funzione math.sqrt() che può calcolare la radice quadrata di qualsiasi numero (che può essere convertito in un float ) e il risultato sarà sempre un float :

import math

math.sqrt(9)                # 3.0
math.sqrt(11.11)            # 3.3331666624997918
math.sqrt(Decimal('6.25'))  # 2.5

La funzione math.sqrt() solleva math.sqrt() ValueError se il risultato sarebbe complex :

math.sqrt(-10)              

ValueError: errore del dominio matematico

math.sqrt(x) è più veloce di math.pow(x, 0.5) o x ** 0.5 ma la precisione dei risultati è la stessa. Il modulo cmath è estremamente simile al modulo math , tranne per il fatto che può calcolare numeri complessi e tutti i suoi risultati sono nella forma di un + bi. Può anche usare .sqrt() :

import cmath

cmath.sqrt(4)  # 2+0j
cmath.sqrt(-4) # 2j

Cosa c'è nella j ? j è l'equivalente della radice quadrata di -1. Tutti i numeri possono essere messi in forma a + bi, o in questo caso, a + bj. a è la parte reale del numero come il 2 in 2+0j . Poiché non ha una parte immaginaria, b è 0. b rappresenta parte della parte immaginaria del numero come il 2 in 2j . Poiché non c'è una parte reale in questo, 2j può anche essere scritto come 0 + 2j .