Python Con Input Utente
Python con Input Utente¶
Obiettivi della Lezione¶
Al termine di questa lezione, sarai in grado di:
- Utilizzare la funzione
input()
per ricevere dati dall’utente. - Comprendere come gestire e processare l’input fornito dall’utente.
- Convertire l’input dell’utente in diversi tipi di dati (ad esempio, interi o float).
- Creare programmi interattivi che reagiscono dinamicamente all’input dell’utente.
Introduzione¶
Creare programmi interattivi è una parte fondamentale dello sviluppo software. L’interazione con l’utente permette di ottenere dati dall’esterno e rendere le applicazioni più dinamiche e utili. In Python, l’interazione con l’utente avviene principalmente attraverso la funzione input()
, che consente di acquisire dati inseriti dall’utente tramite la tastiera.
Spiegazione Teorica¶
La Funzione input()
¶
La funzione input()
viene utilizzata per leggere una linea di testo digitata dall’utente. Quando il programma esegue input()
, l’esecuzione si blocca finché l’utente non inserisce un valore e preme il tasto Invio.
Sintassi:
variabile = input("Messaggio per l'utente: ")
Messaggio per l'utente: Ciao, come posso aiutarti?
"Messaggio per l'utente: "
: È una stringa opzionale che viene visualizzata come prompt per l’utente.
Esempio:
nome = input("Inserisci il tuo nome: ")
Inserisci il tuo nome: Marco
In questo esempio, il programma chiederà all’utente di inserire il proprio nome e lo memorizzerà nella variabile nome
.
Tipo di Dato Restituito¶
La funzione input()
restituisce sempre una stringa (str
), indipendentemente da ciò che l’utente inserisce. Questo significa che se hai bisogno di un altro tipo di dato (ad esempio, un numero intero o un valore in virgola mobile), dovrai convertire esplicitamente l’input.
Conversione dell’Input dell’Utente¶
Per convertire l’input dell’utente in altri tipi di dati, puoi utilizzare le funzioni di casting:
- Convertire in intero (
int
):
eta = int(input("Inserisci la tua età: "))
print(type(eta))
Inserisci la tua età: 33 <class 'int'>
- Convertire in float (
float
):
altezza = float(input("Inserisci la tua altezza in metri: "))
print(type(altezza))
Inserisci la tua altezza in metri: 1.72 <class 'float'>
Attenzione: Se l’utente inserisce un valore che non può essere convertito (ad esempio, inserisce “abc” quando viene richiesto un numero), il programma genererà un errore (ValueError
).
altezza = float(input("Inserisci la tua altezza in metri: "))
Inserisci la tua altezza in metri: abc
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[10], line 1 ----> 1 altezza = float(input("Inserisci la tua altezza in metri: ")) ValueError: could not convert string to float: 'abc'
nome = input("Come ti chiami? ")
print("Ciao, " + nome + "! Benvenuto nel nostro programma.")
Come ti chiami? Marco Ciao, Marco! Benvenuto nel nostro programma.
Spiegazione:
- Chiediamo all’utente il suo nome.
- Salutiamo l’utente utilizzando il nome fornito.
Esempio 2: Calcolatrice Semplice¶
numero1 = float(input("Inserisci il primo numero: "))
numero2 = float(input("Inserisci il secondo numero: "))
somma = numero1 + numero2
print("La somma dei due numeri è:", somma)
Inserisci il primo numero: 22 Inserisci il secondo numero: 11 La somma dei due numeri è: 33.0
Spiegazione:
- Convertiamo l’input dell’utente in numeri in virgola mobile per consentire operazioni aritmetiche.
- Calcoliamo la somma e la visualizziamo.
Esempio 3: Messaggio di Età¶
eta = int(input("Quanti anni hai? "))
anni_per_centenario = 100 - eta
print("Compirai 100 anni tra", anni_per_centenario, "anni!")
Quanti anni hai? 22 Compirai 100 anni tra 78 anni!
Spiegazione:
- Convertiamo l’età inserita in un intero.
- Calcoliamo quanti anni mancano per arrivare a 100 anni.
- Mostriamo il messaggio all’utente.
Esercizi Interattivi¶
Esercizio 1: Area di un Rettangolo¶
Scrivi un programma che chieda all’utente la larghezza e l’altezza di un rettangolo e calcoli l’area.
Esempio di Output:
Inserisci la larghezza del rettangolo: 5
Inserisci l'altezza del rettangolo: 3
L'area del rettangolo è: 15
Soluzione:
larghezza = float(input("Inserisci la larghezza del rettangolo: "))
altezza = float(input("Inserisci l'altezza del rettangolo: "))
area = larghezza * altezza
print("L'area del rettangolo è:", area)
Inserisci la larghezza del rettangolo: 2 Inserisci l'altezza del rettangolo: 4 L'area del rettangolo è: 8.0
Esercizio 2: Convertitore di Valuta¶
Crea un programma che converta da Euro a Dollari. Chiedi all’utente quanti Euro vuole convertire e visualizza l’equivalente in Dollari. Usa un tasso di cambio fisso (ad esempio, 1 Euro = 1.10 Dollari).
Esempio di Output:
Inserisci l'importo in Euro: 50
L'equivalente in Dollari è: 55.0
Esercizio 3: BMI Calculator¶
Scrivi un programma che calcoli l’Indice di Massa Corporea (BMI) dell’utente. Chiedi all’utente il peso in chilogrammi e l’altezza in metri, quindi calcola il BMI utilizzando la formula:
$$ BMI = frac{text{peso}}{text{altezza}^2} $$Esempio di Output:
Inserisci il tuo peso in kg: 70
Inserisci la tua altezza in metri: 1.75
Il tuo BMI è: 22.86
Buone Pratiche e Consigli¶
Validazione dell’Input: Prima di utilizzare l’input dell’utente, è buona norma verificarne la validità.
try: numero = int(input("Inserisci un numero intero: ")) except ValueError: print("Errore: per favore inserisci un numero valido.")
Messaggi Chiari: Fornisci prompt chiari e informativi per guidare l’utente.
Gestione degli Errori: Prevedi possibili errori dovuti all’input e gestiscili adeguatamente.
Commenti nel Codice: Usa commenti per spiegare parti del codice che potrebbero non essere immediatamente comprensibili.
Testing: Prova il tuo programma con diversi input per assicurarti che gestisca correttamente tutti i casi.
Conclusione¶
L’utilizzo dell’input utente permette di creare programmi interattivi e personalizzati. Sapere come acquisire e gestire l’input è fondamentale per sviluppare applicazioni utili e user-friendly. Ricorda di gestire sempre l’input con attenzione, effettuando le necessarie conversioni e validazioni per garantire il corretto funzionamento del tuo programma.
Risorse Aggiuntive¶
Documentazione Ufficiale Python: Input
Libro Consigliato: Python Crash Course di Eric Matthes
- Video Tutorial: Python user input