Module: (Python) Numeri reali


Problem

4/11

Input e output di numeri reali

Theory Click to read/hide

Invio

Per inserire un numero reale utilizzando la funzione input(), è necessario convertire la stringa di caratteri, che è il risultato della funzione input(), in un numero reale utilizzando la funzione >float():
x = float(input())
Se devi inserire più valori da una riga contemporaneamente, utilizziamo lo stesso metodo degli interi:
x, y = map(float, input().split())

 

Uscita

Quando si visualizzano numeri reali, per impostazione predefinita vengono visualizzate 16 cifre decimali. Questo formato non è sempre necessario. Se hai bisogno di abbreviare il formato di output, usa output formattato o stringhe F.


Formatta output
Per fare questo, applica il metodo format() alla stringa che vogliamo produrre. E all'interno della riga i formati sono scritti tra parentesi graffe dopo i due punti. Le parentesi della funzione format() indicano i nomi delle variabili (o costanti), i cui valori verranno sostituiti nella stringa invece delle parentesi graffe nel formato specificato. Il numero di variabili deve corrispondere al numero di parentesi graffe. Questo metodo funziona in Python a partire dalla versione 3.
 
Esempio
  Spiegazione Uscita su schermo
x = 1/6
   
print("{:f}".format(x))
format :f restituisce 6 cifre per impostazione predefinita  nella parte frazionaria
0.166667
print("{:.3f}".format(x))
:.3 significa emettere 3 caratteri dopo il punto
0,167
print("{:12.4e}".format(x))
:12.4 - il primo numero (12) specifica  il numero totale di posizioni per visualizzare il numero (compreso il punto);
secondo numero (4) - il numero di cifre nella parte frazionaria;
format e - visualizza il numero in formato scientifico.
  1.6667e-01
 


F-string 
Un altro modo per visualizzare una stringa formattata è usare le stringhe f (f-string). Questo metodo è disponibile in Python a partire dalla versione 3.6.
print(f"{x:f}")
print(f"{x:.3f}")
print(f"{x:12.4e}") 
F-string è una stringa jolly che inizia con (o F). Ogni volta che vogliamo inserire il valore di una variabile in una stringa, dobbiamo aggiungere   nome della variabile racchiuso tra parentesi graffe {}. All'interno delle parentesi graffe, puoi specificare un metodo di formattazione simile al metodo fomat().


Oltre al metodo format() e alle stringhe F, puoi usare altri modi per formattare l'output. Otteniamo lo stesso risultato scrivendo le istruzioni di output come segue:
print("%f" % (x))
stampa("%.3f" % (x))
print("%12.4e" % (x))
Questo metodo di formattazione imita la funzione  printf() del linguaggio C. Il metodo è considerato obsoleto, ma in alcuni casi è più conveniente. A parte questo, questo metodo è l'unico (di quelli menzionati qui) che funziona in Python versione 2.5 e precedenti.

Problem

Completa le attività nell'ordine:
1. Sulla terza riga, formatta l'output della variabile y utilizzando format output, con il numero di caratteri nella parte frazionaria per impostazione predefinita (vedi teoria! ).
2. Nella quarta riga, formatta l'output della variabile y in modo che l'intero numero venga visualizzato in 10 posizioni, con 4 caratteri per la parte frazionaria.
3. Nella quinta riga stile l'output della variabile y in modo che il numero venga emesso in formato scientifico con tre cifre decimali.