Imparare Python da zero #03: input da tastiera, conversioni di tipo e funzione built-in “help”

Un’operazione ricorrente in buona parte dei programmi è la richiesta di inserimento di valori di input da parte dell’utente. In Python per realizzare questa funzionalità si utilizza la funzione built-in input() che legge i dati forniti dall’utente e li restituisce sotto forma di stringa. La funzione input permette di specificare anche un parametro di tipo stringa che rappresenta il prompt da presentare all’utente per l’inserimento dei dati. Vediamo un esempio:

def welcome(name):
    print("Benvenuto", name) 

n = input("Inserisci il tuo nome: ")
welcome(n)

Python input from console

Come detto il valore inserito viene restituito come stringa per cui, nel caso in cui l’input richiesto all’utente sia un numero, occorre effettuare una conversione di tipo, altrimenti si rischia di ottenere un errore come il seguente:

def welcome(name):
    print("Benvenuto", name) 

def calcola_eta(age):
    print("Hai", 2015-age, "anni")

n = input("Inserisci il tuo nome: ")
welcome(n)
e = input("Inserisci il tuo anno di nascita: ")
calcola_eta(e)

Python input conversion error

Per effettuare le conversioni di tipo Python ci mette a disposizione una serie di funzioni built-in, come ad esempio int() o float().
Proviamo a modificare il programma precedente, convertendo la stringa letta come input in un valore intero:

def welcome(name):
    print("Benvenuto", name) 

def calcola_eta(age):
    print("Hai", 2015-age, "anni")

n = input("Inserisci il tuo nome: ")
welcome(n)
e = int(input("Inserisci il tuo anno di nascita: "))
calcola_eta(e)

Python input int conversion

Vediamo anche un esempio in cui utilizziamo la funzione built-in float() per convertire una stringa immessa come input dall’utente in un numero con la virgola:

def somma(n1,n2):
    return n1+n2

in1 = int(input("Inserisci un numero intero: "))
in2 = float(input("Inserisci un numero decimale: "))
print(somma(in1,in2))

Python input float conversion

Proviamo ora ad inserire l’acquisizione dei dati da tastiera tramite la funzione built-in input() all’interno di un ciclo while; l’acquisizione continuerà fino a quando non premeremo return senza inserire nessun valore.
Proviamo ad esempio ad eseguire il codice seguente:

def somma(n1,n2):
    return n1+n2

ris = 0
line = input()
while line:
    ris = somma(ris,int(line))
    line = input()
print("Totale", ris)

Python input while

Prima di concludere, vediamo ancora la funzione built-in help(), che possiamo utilizzare per consultare la documentazione sulle funzioni i moduli o le keywords di Python.
Help può essere invocato in 2 modi:
senza parametri; in questo caso la funzionalità si presenta in modo interattivo ed è possibile inserire gli oggetti di cui si vogliono ottenere le informazioni
con il parametro dell’oggetto di cui si voglio ottenere le informazioni

Vediamo un esempio di invocazione di help senza parametri; all’apertura del prompt interattivo chiediamo di mostrarci prima le informazioni relative alla funzione built-in print() e poi l’elenco di tutte le parole riservate (keywords) del linguaggio Python:
Python help input keywords
In alternativa, come detto, possiamo passare direttamente il parametro che costituisce la nostra ricerca alla funzione help:
Python help with parameter

Leave a Reply

Your email address will not be published. Required fields are marked *