Visualizza la tabella della funzione seno con
- 0° <= angolo < 360°
- passo=15°
Le funzioni trigonometriche accettano solo angoli espressi in radianti
1 2 3 4 5 6 7 |
import math # sin() gradi=0 # Inizializzazione while(gradi < 360): # Controllo x=math.radians(gradi) # Utilizzazione print("Gradi:", gradi, "Seno:", math.sin(x)) gradi=gradi+15 # Aggiornamento |
Con le costanti il codice è più leggibile
1 2 3 4 5 6 7 8 9 10 11 |
import math # sin() START=0 STOP =360 STEP =15 gradi=START while(gradi < STOP): x=math.radians(gradi) print("Gradi:", gradi, "Seno:", math.sin(x)) gradi=gradi+STEP |
Visualizza anche i radianti, separa i dati dalle etichette
1 2 3 |
... print("Gradi: %i Radianti: %f Seno: %f" %(gradi, x, math.sin(x))) ... |
Aggiungi la funzione coseno, fissa il numero di colonne e di cifre decimali per ogni valore numerico
1 2 3 4 5 6 |
... x =math.radians(gradi) seno =math.sin(x) coseno=math.cos(x) print("Gradi: %3i Radianti: %5.3f Sin: %6.3f Cos: %6.3f" %(gradi, x, seno, coseno)) ... |
Migliora la presentazione dei dati
- 4 colonne della stessa larghezza
- le etichette nella prima riga
- le etichette centrate rispetto alla colonna
- effetto cornice per le etichette e i dati
- i dati decimali con 6 cifre dopo la virgola
- …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import math # sin() START=0 STOP =360 STEP =15 print("+------------+------------+------------+------------+") print("| %10s | %10s | %10s | %10s |" %("Gradi".center(10), "Radianti".center(10), "Seno".center(10), "Coseno".center(10))) print("+------------+------------+------------+------------+") gradi=START while(gradi < STOP): x =math.radians(gradi) seno =math.sin(x) coseno=math.cos(x) print("| %10i | %10.6f | %10.6f | %10.6f |" %(gradi, x, seno, coseno)) gradi=gradi+STEP print("+------------+------------+------------+------------+") |
La cornice può essere realizzata ancora più realistica utilizzando i codici ASCII dei caratteri grafici
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import math # sin() START=0 STOP =360 STEP =15 print("╔════════════╦════════════╦════════════╦════════════╗") print("║ %10s ║ %10s ║ %10s ║ %10s ║" %("Gradi".center(10), "Radianti".center(10), "Seno".center(10), "Coseno".center(10))) print("╠════════════╬════════════╬════════════╬════════════╣") gradi=START while(gradi <= STOP): x =math.radians(gradi) seno =math.sin(x) coseno=math.cos(x) print("║ %10i ║ %10.6f ║ %10.6f ║ %10.6f ║" %(gradi, x, seno, coseno)) gradi=gradi+STEP print("╚════════════╩════════════╩════════════╩════════════╝") |
Visualizzare dei dati in forma tabellare è un’esigenza molto comune.
Esistono dei moduli specifici: prettytable, tabulate, texttable, …