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.
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:
- la stringa passata a
inputche chiede di inserire il nome viene mostrata a video; inputattende che l’utente digiti il nome (Ezio) e prema Invio;inputrestituisce il nome inserito come stringa;- la stringa restituita da
inputviene assegnata alla variabilenome; - la variabile
nomepuò 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:
inputchiede all’utente di inserire un raggio che viene assegnato alla variabileraggio;- la funzione
floatviene usata per convertireraggio(che è una stringa) in un valore numerico con la virgola che viene assegnato alla variabiler; - le due variabili (
raggioer) vengono stampate per mostrare che la prima è una stringa (quindi rappresentata tra'...') mentre la seconda è un numero; rviene poi usata per calcolare l’area del cerchio (**è l’operatore di elevazione a potenza) e la funzioneprintviene usata per stampare la stringa'Area:'e il risultato dell’espressione3.14 * r**2;rviene usata anche per calcolare la circonferenza eprintper stampare la stringa'Circonferenza:'e il risultato dell’espressione2 * 3.14 * r;
Esercizio 1: Cosa genera questo codice?
s="python"
print(s[0]) #elementi di posizione varia
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[5])
print("Questa è una specie di substring del c:")
print(s[0:2]) #da elemento 0 a elemeno 2 escluso
print(s[-2:]) #va dalla fine
print("Somma di stringhe:\n")
print('Py' + 'thon')
print('Py' * 2)
print('Ba' + 'na' * 2)