8 suggerimenti e trucchi per l'utilizzo di Python come app calcolatrice
Potresti aver sentito dire che puoi utilizzare la modalità interattiva di Python come calcolatrice. Ci sono molte funzioni che ti consentono di trasformare Python in una calcolatrice scientifica o persino in una calcolatrice grafica.
8. Calcola esponenti, radici e logaritmi
Esponenti, radici e logaritmi sono operazioni matematiche comuni sono alcune delle funzioni che puoi utilizzare in Python per sostituire una calcolatrice scientifica portatile.
Per alzare una base all'ennesima potenza, basta usare l'operatore **. Ad esempio, per elevare al quadrato il numero 2:
2**2
Molti altri linguaggi come Excel utilizzano l'operatore ^(accento circonflesso) per gli esponenti, quindi questo potrebbe farti inciampare se sei abituato a loro. Se viene visualizzato un messaggio di errore, assicurarsi di aver utilizzato l'operatore corretto.
Anche le radici quadrate sono semplici. Puoi utilizzare la libreria matematica in Python. C'è una funzione chiamata sqrt che prende la radice quadrata di un numero:
import math
math.sqrt(81)
Questo restituirà il numero 9. Per i numeri che non sono quadrati perfetti, restituirà un'approssimazione decimale come farebbe una calcolatrice scientifica portatile. La funzione cbrt funziona allo stesso modo, ma con le radici cubiche.
Per prendere una radice superiore a 3, elevarla alla potenza di 1/n utilizzando l'operatore esponente. Ad esempio, per prendere l'ottava radice di 256:
256**(1/8)
Le parentesi sono lì per dire a Python che stiamo aumentando il numero a un esponente frazionario. Altrimenti, aumenterà 256 alla prima potenza, dando 256, quindi dividerà questo per 8, che non è quello che vogliamo. Con la parentesi, restituirà 8, perché 2 all'ottava potenza è 256.
Questo ci porta ai logaritmi, che sono esponenti a ritroso. La funzione log prende il logaritmo di un numero utilizzando una certa base. Per impostazione predefinita, utilizza il logaritmo naturale con la costante e (2,17828...) come base:
math.log(42)
Per utilizzare il logaritmo comune, fornire la base come secondo argomento:
math.log(42,10)
Gli sviluppatori della libreria matematica hanno creato una scorciatoia per il logaritmo comune, dal momento che, per perdonare il gioco di parole, è comune. Utilizzare la funzione log10:
math.log10(42)
Anche i logaritmi in base 2 sono comuni in informatica e c'è una funzione simile con 2 come base. Per scoprire quanti bit sono necessari per un numero, utilizzare la funzione log2:
math.log2(512)
È possibile utilizzare una base diversa prendendo il logaritmo naturale o comune di un numero e dividendolo per il logaritmo della base che si desidera utilizzare. Ad esempio, per portare il logaritmo di 81 alla base 3:
math.log(81) / math.log(3)
Questo restituirà 4, perché da 3 alla 4a potenza è 81. Puoi verificarlo prendendo l'antilogaritmo di base 3:
3**4
7. Usa le costanti
Parlando di costanti matematiche, puoi anche utilizzare facilmente le costanti di e e pi greco con la libreria matematica.
Potresti ricordare che l'area di un cerchio è pi greco moltiplicata per il quadrato del raggio. Ecco come calcolare l'area di un cerchio con un raggio di 6 unità:
import math
math.pi * 6**2
6. Usa le funzioni trigonometriche
Se utilizzi funzioni trigonometriche su una calcolatrice scientifica, la libreria matematica ti consente di usarle in Python. Sono disponibili le funzioni seno seno, coseno e tangente, nonché le corrispondenti funzioni trigonometriche inverse.
Queste funzioni operano sui radianti, ma è possibile convertirli in radianti con la funzione gradi. Per convertire 60 gradi in radianti:
import math
math.radians(60)
Per prendere il seno di questo angolo, usa la funzione sin.
angle = math.radians(60)
math.sin(angle)
Possiamo recuperare il nostro angolo originale usando asin, il seno inverso o arcseno:
math.asin(1.0471975511965976)
Possiamo anche utilizzare l'operatore di sottolineatura "_" in modalità interattiva per ottenere il risultato precedente e risparmiare la digitazione.
math.asin(_)
C'è anche una funzione per convertire i radianti in gradi:
math.degrees(_)
Questo ci riporterà alla nostra misura originale. Le funzioni cos e acos e tan e atan funzionano allo stesso modo.
5. Risolvi equazioni con SymPy e NumPy
Python può fare calcoli numerici, ma può anche risolvere equazioni algebriche con le giuste librerie. Non hai bisogno di costosi sistemi di algebra computazionale proprietari come Mathematica o Maple. Puoi risolvere problemi di matematica e scienze con Python.
Usiamo SymPy per risolvere una semplice equazione, 3x + 5=7. Questo sarebbe facile da fare a mano, ma questo mostrerà cosa può fare SymPy.
Innanzitutto, importa SymPy:
from sympy import *
Prima di usare x, dovremo definirlo come variabile simbolica:
x = symbols('x')
Useremo la funzione Eq di SymPy, poiché SymPy si aspetta equazioni uguali a 0.
eqn = Eq(3*x + 5,7)
Ora useremo la funzione di risoluzione per risolvere per x:
solve(eqn,x)
La risposta dovrebbe essere 2/3.
L'app a riga di comando isympy importerà SymPy in un ambiente interattivo, definirà alcune variabili comuni, tra cui x, e imposterà una stampa piuttosto carina in modo che i risultati appaiano più simili a quelli di un libro di testo.
Facciamo qualcosa di più difficile. Un'equazione di secondo grado è più difficile da risolvere a mano. Fortunatamente, con SymPy non dovrai ricordare la formula quadratica o come completare il quadrato. Risolveremo l'equazione quadratica x^2 + 4x +2=0. Possiamo semplicemente andare direttamente a risolverlo per x:
solve(x**2 + 4*x + 2,x)
Le risposte saranno 2 meno la radice quadrata di 2 e 2 più la radice quadrata di 2. Ricorda di definire esplicitamente la moltiplicazione, ad esempio 4*x per 4x.
Puoi anche risolvere facilmente un sistema di equazioni lineari con NumPy. Risolveremo il primo esempio di equazione dalla pagina di Wikipedia sui sistemi di equazioni lineari:
3x + 2y - z=1
2x - 2y + 4z=-2
-x + 1/2y - z=0
Useremo una matrice e un vettore per risolvere questo problema. Non dobbiamo preoccuparci delle variabili. Vogliamo solo i coefficienti. Utilizzeremo un array 2D, o un array di array, per rappresentare una matrice di coefficienti:
import numpy as np
A = np.array([[3,2,-1],[2,-2,4],[-1,1/2,-1]])
E useremo un altro array per il vettore colonna delle costanti sul lato destro del sistema:
b = np.array([1,-2,0])
E poi useremo la funzione linalg.solve di NumPy per risolverlo se il sistema ha delle soluzioni (non tutti i sistemi di equazioni lineari lo fanno)
np.linalg.solve(A,b)
Otterrai un elenco di soluzioni per il sistema, in questo caso 1, -2 e -2. Questi corrispondono alle variabili di x, y e z.
4. Calcola la media, la mediana e la modalità con la libreria di statistiche
Molte calcolatrici scientifiche e fogli di calcolo come Excel contengono alcune operazioni statistiche. Puoi fare alcune semplici statistiche con la libreria delle statistiche.
Creiamo un array di alcuni numeri da utilizzare come set di dati
data = [25,42,35]
Per calcolare la media di alcuni numeri, mettili in un array e usa la funzione media:
statistics.mean(data)
Per la mediana:
statistics.median(data)
E la modalità, il valore che ricorre più frequentemente:
statistics.mode(data)
In questo caso, con ogni numero che appare lo stesso numero di volte, Python stamperà il primo.
3. Hai bisogno di una sola funzione? Basta importarlo!
Se sono necessarie solo una o più funzioni di una libreria per l'uso interattivo, è possibile importarle.
Se hai solo bisogno della funzione seno dalla libreria matematica, puoi semplicemente importarla in questo modo:
from math import sin
Ora puoi usarlo senza dover prima chiamare la libreria:
sin(42)
2. Calcola fattoriali, permutazioni e combinazioni
In Python sono disponibili anche operazioni combinatorie di base come fattoriali, permutazioni e combinazioni. Ancora una volta, è la biblioteca matematica a salvare:
from math import factoral, comb, perm
Un fattoriale è un numero moltiplicato per il numero successivo più basso moltiplicato per il numero successivo più basso fino a 1. È abbreviato dal punto esclamativo. Ad esempio, 49 fattoriale fa 49!
Per calcolare 49! Usa la funzione fattoriale dalla libreria matematica che abbiamo appena importato:
factorial(49)
Il risultato è un numero molto grande. Per calcolare quante combinazioni puoi ottenere pescando 5 carte da un mazzo standard di 52 carte:
comb(52,5)
Per calcolare le permutazioni, cioè pescare carte in cui l'ordine è importante, utilizzare la funzione permanente:
perm(52,5)
1. Tracciare una funzione con SymPy
Sympy non solo è in grado di risolvere equazioni, ma può anche tracciarle come farebbe una calcolatrice grafica.
È possibile tracciare le funzioni nella forma y=mx+ b, dove m è la pendenza e b è l'intercetta. Abbiamo solo bisogno della parte mx + b. Ad esempio, per tracciare y=3x + 5
from sympy import symbols, plot
x = symbols('x')
plot(3*x + 5)
Verrà visualizzata una finestra con la trama o apparirà in un taccuino Jupyter. Con tutte queste funzioni, puoi tenere quella vecchia calcolatrice scientifica o grafica nel cassetto e utilizzare qualcosa di molto più economico e flessibile.