Ultima modifica:
È tutto corretto. Il problema è che i computer tipicamente usano una notazione in virgola mobile per fare calcoli su numeri decimali. La notazione che usano si chiama IEE754 e non riesce a rappresentare in modo esatto alcuni numeri tra cui 1.6, che può essere rappresentato (approssimativamente) con 1.60000000000000008882 oppure con 1.59999999999999986677. Il risultato che leggi, tolta la notazione scientifica, è 0.00000000000000355271 che è approssimativamente 0: non è esattamente 0 perché il computer non ha potuto usare esattamente 1.6.
Per stampare tutti i valori in virgola mobile, usa una cosa del tipo:
almeno ti limiti ad una precisione di 5 cifre decimali e vedi i risultati che ti aspetti.
PS. Quando posti il codice usa il tag CODE. Lo trovi nella barra in alto nella casella dove scrivi il messaggio e supporta anche il syntax highlighting.
Per stampare tutti i valori in virgola mobile, usa una cosa del tipo:
Python:
print('{:.5g}'.format(variabile))
PS. Quando posti il codice usa il tag CODE. Lo trovi nella barra in alto nella casella dove scrivi il messaggio e supporta anche il syntax highlighting.