Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le funzioni print e input

Due funzioni basilari di Python, utilissime soprattutto a supporto della creazione dei programmi console, nonchè in fase di debugging.
Due funzioni basilari di Python, utilissime soprattutto a supporto della creazione dei programmi console, nonchè in fase di debugging.
Link copiato negli appunti

In questa lezione facciamo la conoscenza di due funzioni basilari di Python: print e input. Queste funzioni servono rispettivamente a mostrare e a chiedere valori all'utente. Entrambe sono particolarmente utili durante la creazione dei primi test e programmi a riga di comando, ma lo saranno anche in futuro.

print

Abbiamo già visto, nelle passate lezioni, la funzione print, che serve a “stampare” in output (tipicamente sullo schermo, ma volendo anche su file o altri stream) il valore di una variabile o di una espressione.

>>> a = 12
>>> b = 3
>>> print(a, b, a-b)
12 3 9
>>>
>>> c = 'Hello'
>>> print(c, 'World!')
Hello World!

Si può notare che la funzione print accetta in input un numero variabile di argomenti (anche di tipi diversi), li converte in stringhe, e li mostra in output separati da uno spazio e seguiti da un carattere di ritorno a capo (\n). print consente inoltre di specificare il separatore, il carattere finale, lo stream, e altri parametri.

Quando si lavora dall'interprete interattivo non è necessario utilizzare print per vedere il valore di una variabile o espressione, ma è sufficiente digitarla:

>>> x = 10
>>> x
10
>>> x * 2
20

Questa possibilità è disponibile solo dall'interprete interattivo; quando si esegue un programma, invece, è necessario utilizzare print esplicitamente.

Nota: in Python 2.x, print era uno statement, e non era quindi necessario inserire i parametri tra parentesi. Omettere le parentesi in Python 3.x (dove print è una funzione) significa commettere un errore di sintassi. In Python 2.x è inoltre possibile usare from __future__ import print_function per rendere print una funzione come in Python 3.

input

La funzione input viene usata per consentire all'utente di immettere dati da tastiera, che verranno poi utilizzati dal programma.

input accetta un singolo argomento opzionale: una stringa che viene mostrata a video prima di leggere il valore digitato. Una volta che l'utente ha digitato un valore e premuto il tasto Invio, input restituisce il valore come stringa, come mostra il seguente esempio:

>>> nome = input('Inserisci il tuo nome: ')
Inserisci il tuo nome: Ezio
>>> nome
'Ezio'

In questo esempio possiamo vedere che:

  1. la stringa passata a input che chiede di inserire il nome viene mostrata a video;
  2. input attende che l'utente digiti il nome (Ezio) e prema Invio;
  3. input restituisce il nome inserito come stringa;
  4. la stringa restituita da input viene assegnata alla variabile nome;
  5. la variabile nome può poi essere utilizzata per accedere al nome inserito dall'utente.

Se si desidera immettere valori numerici o di altri tipi, è possibile convertire la stringa restituita da input usando funzioni come int o float:

>>> raggio = input('Inserisci il raggio: ')
Inserisci il raggio: 8.4
>>> r = float(raggio)
>>> raggio, r
('8.4', 8.4)
>>> print('Area:', 3.14 * r**2)
Area: 221.5584
>>> print('Circonferenza:', 2 * 3.14 * r)
Circonferenza: 52.752

In questo esempio possiamo vedere che:

  1. input chiede all'utente di inserire un raggio che viene assegnato alla variabile raggio;
  2. la funzione float viene usata per convertire raggio (che è una stringa) in un valore numerico con la virgola che viene assegnato alla variabile r;
  3. le due variabili (raggio e r) vengono stampate per mostrare che la prima è una stringa (quindi rappresentata tra '...') mentre la seconda è un numero;
  4. r viene poi usata per calcolare l'area del cerchio (** è l'operatore di elevazione a potenza) e la funzione print viene usata per stampare la stringa 'Area:' e il risultato dell'espressione 3.14 * r**2;
  5. r viene usata anche per calcolare la circonferenza e print per stampare la stringa 'Circonferenza:' e il risultato dell'espressione 2 * 3.14 * r;

Nota: in Python 2.x esistevano due diverse funzioni di input: raw_input e input. La prima è equivalente a input di Python 3.x, mentre la seconda (che effettuava uno step aggiuntivo di conversione implicita dell'input) è stata rimossa da Python 3.x. Come abbiamo visto nel secondo esempio, in Python 3.x è possibile convertire i valori letti da input esplicitamente.

Ti consigliamo anche