Python Math Range Errore

Python Math Range Errore
Prima di entrare nell'errore della gamma di matematica di Python, diamo un'occhiata al modulo di matematica Python. Il modulo matematico è un modulo Python comunemente usato in ogni momento. Per utilizzare le funzioni matematiche di questo modulo, dovresti prima importarlo utilizzando l'importazione matematica. Fornisce l'accesso alle funzionalità della libreria C sottostante. Calcolo della radice quadrata, ad esempio, importare matematica.SQRT (4). Se un valore in un calcolo matematico supera il limite del tipo di dati consentito in Python, viene sollevata un'eccezione chiamata "Overflowerror: Math Range Error".

In questo post, esamineremo le complessità del problema "overflowerror". Il limite massimo per ciascun tipo di dati è impostato in Python. Il valore deve essere entro il limite del tipo di dati prima di eseguire eventuali calcoli matematici. Se il valore è troppo grande, il tipo di dati non lo accoglierà. Python genera un errore in questo scenario, rilevando che il valore supera il limite consentito. In questa circostanza, lo sviluppatore dovrebbe intraprendere azioni appropriate in risposta all'interesse. Esamineremo come affrontare tali situazioni in questo articolo. Esaminiamo tutte le diverse soluzioni a questo problema. Python utilizza operandi durante l'esecuzione di calcoli matematici. Gli operandi sono una delle variabili dei tipi di dati Python. I tipi di dati definiti possono essere archiviati fino al limite massimo nella variabile. Se l'applicazione tenta di archiviare un valore che supera il limite massimo del tipo di dati, Python può lanciare un errore dichiarando che il limite consentito è stato superato. Esamineremo diversi casi che causano la matematica

Esempio 1:

Questo problema può essere ricreato utilizzando l'operazione di matematica Exp Python. Il numero massimo di tipi di dati che possono essere utilizzati è 709.78271. Il programma Python visualizzerà un errore se il programma simula un valore che supera il limite consentito.

Importa matematica
output = matematica.Exp (1000)
Stampa (output)

Quanto sopra ha sollevato l'errore, come puoi vedere.

Esempio 2:

Possiamo vedere nel codice di questo programma che stiamo dichiarando il modulo matematico, successivamente, usandolo per generare numeri esponenziali come Exp (1000), dove X è 1000 mentre E è 2.7, e quando proviamo a calcolare questo, ci fornisce un valore di conseguenza che è doppio e non può stampare il risultato. Come si può vedere nel seguente programma, si verifica un errore di overflow, indicando che il valore è fuori portata perché il valore dato è 1000 e il risultato è fuori portata.

Stampa ("Un programma Python che genera l'errore di overflow")
Importa matematica
Stampa ("Ecco il valore esponenziale:")
Stampa (matematica.exp (1000))

Come puoi vedere, il codice sopra ha causato l'errore di matematica.

Esempio 3:

La frase "risultato troppo grande" non si riferisce al numero di caratteri nella rappresentazione decimale del numero; Piuttosto, significa che il numero prodotto dalla tua funzione esponenziale è abbastanza grande da invadere qualunque tipo di Python impiega per archiviare i valori a punto mobile internamente. Le galleggianti in Python non sono né precisione arbitraria né di dimensioni illimitate. x = x ** 2 è troppo enorme quando i = 10. Utilizza un tipo alternativo per i calcoli a punta mobile, come il modulo decimale: d = decimale.Decimale (x ** 2) o modificare il codice in modo tale che e ** (x) non trabocca né underflow.

a = 2.0
per i in gamma (50):
a = a ** 2
Stampa (a)

Quello che segue è un esempio di un overflowerror.

Soluzione 1:

Come precedentemente affermato, il valore non dovrebbe superare il limite di tipo di dati massimo. La difficoltà può essere risolta calcolando il valore esponenziale con meno. Prima che venga eseguita l'operazione esponenziale, viene utilizzata una condizione IF per convalidare il valore di input. Il chiamante riceverà il messaggio di errore corretto se il valore di input è superiore a 0. Il codice seguente dimostra come utilizzare la funzione esponenziale senza causare un errore del programma.

Importa matematica
Num = 80
Se Num<50:
output = matematica.exp (num)
Stampa (output)
altro:
Stampa ("Il valore di input supera il limite consentito.")

Il codice sopra viene eseguito correttamente senza causare errori, come mostrato di seguito.

Soluzione 2:

Se il valore di input non è affidabile, l'errore può essere gestito utilizzando il costrutto try-ad eccezione. Aggiungi il codice appropriato per l'esecuzione del programma al blocco Try. Se si verifica un errore, riconoscilo e scegli una linea d'azione alternativa. In questo metodo, il codice gestirà l'eccezione di overflow. Il codice seguente dimostra come utilizzare prova e tranne per gestire un errore di overflow in un programma Python.

Importa matematica
Tentativo:
risultato = matematica.Exp (1000)
Tranne Overflowerror:
risultato = float ('inf')
Stampa (risultato)

Di seguito è il risultato.

Conclusione:

Un errore di overflow si verifica quando il valore di runtime corrente recuperato dall'applicazione Python supera il valore limite, come discusso in questo articolo. Questo problema sorge quando applichiamo operazioni aritmetiche nel programma e il risultato supera il valore di intervallo massimo, come abbiamo visto in questo post. Quando si converte da un tipo di dati in un altro, questo errore si verifica quando il valore supera l'intervallo di archiviazione del tipo di dati scelto. Infine, abbiamo mostrato come gestire questo problema usando il tentativo e tranne i blocchi per gestire le eccezioni.