2. Variabili e Tipi di Dati in Python

Le basi per memorizzare e gestire le informazioni

📚 Cosa sono le variabili?

Le variabili sono come dei contenitori che ci permettono di memorizzare informazioni nel nostro programma.
Immagina una variabile come una scatola con un’etichetta: l’etichetta è il nome della variabile, e dentro la scatola c’è il valore che vogliamo conservare.

Per esempio, se vogliamo memorizzare l’età di una persona, possiamo creare una variabile chiamata eta e metterci dentro il numero 25.

2.1 Come creare una variabile

In Python, creare una variabile è semplicissimo! Non serve dichiarare nulla in anticipo, basta scrivere il nome della variabile,
il segno uguale = e il valore che vogliamo memorizzare.

Sintassi:

nome_variabile = valore

Esempi pratici:

eta = 25 # Memorizza il numero 25
altezza = 1.75 # Memorizza un numero decimale
nome = “Marco” # Memorizza un testo
is_maggiorenne = True # Memorizza un valore vero/falso

💡 Importante: In Python, quando assegniamo un nuovo valore a una variabile, il vecchio valore viene sostituito.
La variabile può cambiare contenuto durante l’esecuzione del programma!

Esempio di modifica:

punteggio = 0 # Inizialmente il punteggio è 0
print(punteggio) # Stampa: 0

punteggio = 100 # Ora il punteggio diventa 100
print(punteggio) # Stampa: 100

📌 Regole per i nomi delle variabili

  • Possono contenere lettere, numeri e underscore (_)
  • Devono iniziare con una lettera o underscore (non con un numero)
  • Non possono contenere spazi (usa l’underscore: mio_nome)
  • Non possono essere parole riservate di Python (come print, if, for)
  • Python distingue maiuscole e minuscole: Nome e nome sono due variabili diverse!

✅ Nomi validi:


nome_studente
eta1
prezzoTotale
_valore
temperatura_ambiente

❌ Nomi NON validi:


1nome (inizia con un numero)
nome studente (contiene uno spazio)
nome-studente (contiene un trattino)
for (parola riservata di Python)

2.2 I Tipi di Dati Fondamentali

In Python esistono diversi tipi di dati, ognuno adatto a memorizzare un certo tipo di informazione.
Vediamo i quattro tipi fondamentali che useremo più spesso.

🔢 1. Numeri Interi (int)

Gli interi sono numeri senza virgola. Li usiamo per contare, per rappresentare età, quantità, punteggi, ecc.

anni = 18
studenti_classe = 25
temperatura = -5 # Anche i numeri negativi sono interi
popolazione = 1000000

Operazioni con gli interi:

a = 10
b = 3

print(a + b) # Addizione: 13
print(a – b) # Sottrazione: 7
print(a * b) # Moltiplicazione: 30
print(a / b) # Divisione: 3.333…
print(a // b) # Divisione intera: 3
print(a % b) # Resto della divisione: 1

🔢 2. Numeri Decimali (float)

I float (numeri in virgola mobile) sono numeri che hanno una parte decimale.
In Python si usa il punto invece della virgola per separare la parte intera da quella decimale.

altezza = 1.75
prezzo = 19.99
temperatura = 36.5
pi_greco = 3.14159

Operazioni miste interi e float:

intero = 5
decimale = 2.5

risultato = intero + decimale
print(risultato) # Stampa: 7.5 (il risultato è un float)

💡 Nota: Quando facciamo operazioni tra interi e float, Python converte automaticamente il risultato in float!

📝 3. Testo (str – stringhe)

Le stringhe sono sequenze di caratteri che rappresentano del testo.
Si scrivono sempre tra virgolette (singole ‘ ‘ o doppie ” “).

nome = “Giulia”
cognome = ‘Rossi’ # Possiamo usare ‘ o “
messaggio = “Benvenuto nel corso!”
indirizzo = “Via Roma 123”

Unire le stringhe (concatenazione):

nome = “Mario”
cognome = “Bianchi”

# Possiamo unire le stringhe con il +
nome_completo = nome + ” “ + cognome
print(nome_completo) # Stampa: Mario Bianchi

Ripetere le stringhe:

parola = “Ciao”
ripetuta = parola * 3
print(ripetuta) # Stampa: CiaoCiaoCiao

Lunghezza di una stringa:

testo = “Python”
lunghezza = len(testo)
print(lunghezza) # Stampa: 6

⚠️ Attenzione: Non possiamo sommare numeri e stringhe direttamente!
Python darà un errore se proviamo a fare 5 + "testo"

✓✗ 4. Valori Vero/Falso (bool – booleani)

I booleani possono avere solo due valori: True (vero) o False (falso).
Sono molto utili per prendere decisioni nel programma.

is_maggiorenne = True
ha_patente = False
gioco_finito = False

Confronti che producono booleani:

eta = 20
maggiorenne = eta >= 18
print(maggiorenne) # Stampa: True

temperatura = 15
fa_caldo = temperatura > 25
print(fa_caldo) # Stampa: False

💡 Importante: True e False devono essere scritti con la prima lettera maiuscola!

2.3 Conversione tra Tipi di Dati

A volte abbiamo bisogno di trasformare un dato da un tipo a un altro.
Per esempio, quando chiediamo all’utente di inserire un numero con input(),
Python lo memorizza sempre come stringa. Se vogliamo fare calcoli, dobbiamo convertirlo in numero!

🔄 Funzioni di conversione

int() – Converte in intero

# Da stringa a intero
numero_testo = “42”
numero = int(numero_testo)
print(numero * 2) # Stampa: 84

# Da float a intero (perde la parte decimale)
decimale = 3.7
intero = int(decimale)
print(intero) # Stampa: 3

float() – Converte in decimale

# Da stringa a float
prezzo_testo = “19.99”
prezzo = float(prezzo_testo)
print(prezzo) # Stampa: 19.99

# Da intero a float
numero = 5
decimale = float(numero)
print(decimale) # Stampa: 5.0

str() – Converte in stringa

# Da numero a stringa
eta = 25
testo = “Ho “ + str(eta) + ” anni”
print(testo) # Stampa: Ho 25 anni

# Da booleano a stringa
valore = True
testo = str(valore)
print(testo) # Stampa: True

📊 Scoprire il tipo di una variabile

Possiamo usare la funzione type() per vedere di che tipo è una variabile:

numero = 42
print(type(numero)) # Stampa: <class ‘int’>

prezzo = 9.99
print(type(prezzo)) # Stampa: <class ‘float’>

nome = “Paolo”
print(type(nome)) # Stampa: <class ‘str’>

attivo = True
print(type(attivo)) # Stampa: <class ‘bool’>

💻 Esempio Pratico Completo

Vediamo un programma che usa tutti i concetti imparati: calcolare il prezzo totale di alcuni prodotti.

# Chiediamo all’utente i dati
nome_prodotto = input(“Quale prodotto vuoi acquistare? “)
prezzo_unitario = float(input(“Qual è il prezzo? “))
quantita = int(input(“Quanti ne vuoi? “))

# Calcoliamo il totale
totale = prezzo_unitario * quantita

# Applichiamo uno sconto del 10% se la quantità è maggiore di 5
sconto_applicato = quantita > 5

# Mostriamo il risultato
print(“Prodotto:”, nome_prodotto)
print(“Quantità:”, quantita)
print(“Prezzo unitario: €”, prezzo_unitario)
print(“Totale: €”, totale)
print(“Sconto applicato:”, sconto_applicato)

Esempio di esecuzione:

Quale prodotto vuoi acquistare? Penna
Qual è il prezzo? 1.50
Quanti ne vuoi? 6

Prodotto: Penna
Quantità: 6
Prezzo unitario: € 1.5
Totale: € 9.0
Sconto applicato: True

🎯 Esercizio Guidato

Esercizio 1: Calcolatore di somma

Scrivi un programma che chiede all’utente di inserire due numeri e mostra:

  • La somma dei due numeri
  • La differenza tra il primo e il secondo
  • Il prodotto dei due numeri

💡 Soluzione:

# Chiediamo i numeri all’utente
numero1 = int(input(“Inserisci il primo numero: “))
numero2 = int(input(“Inserisci il secondo numero: “))

# Calcoliamo le operazioni
somma = numero1 + numero2
differenza = numero1 – numero2
prodotto = numero1 * numero2

# Mostriamo i risultati
print(“La somma è:”, somma)
print(“La differenza è:”, differenza)
print(“Il prodotto è:”, prodotto)

Esercizio 2: Confronto numeri

Chiedi all’utente due numeri e verifica se sono uguali o diversi.

💡 Soluzione:

numero1 = int(input(“Inserisci il primo numero: “))
numero2 = int(input(“Inserisci il secondo numero: “))

sono_uguali = numero1 == numero2
print(“I numeri sono uguali?”, sono_uguali)

🎯 Esercizio Completo: Calcolo dell’età futura

📋 Cosa deve fare il programma:

  1. Chiedere all’utente come si chiama
  2. Chiedere all’utente quanti anni ha
  3. Stampare il nome in MAIUSCOLO
  4. Calcolare e mostrare quanti anni avrà tra 10 anni

📝 Esempio di output desiderato:

Come ti chiami? Luca
Quanti anni hai? 15

LUCA, tra 10 anni avrai 25 anni!

💡 Clicca qui per vedere la soluzione
# Chiediamo i dati all’utente
nome = input(“Come ti chiami? “)
eta = int(input(“Quanti anni hai? “))

# Convertiamo il nome in maiuscolo
nome_maiuscolo = nome.upper()

# Calcoliamo l’età futura
eta_futura = eta + 10

# Mostriamo il risultato
print(nome_maiuscolo + “, tra 10 anni avrai “ + str(eta_futura) + ” anni!”)

📌 Nota: In questo esercizio usiamo .upper() che è un metodo delle stringhe per convertire il testo in maiuscolo. È l’unico metodo avanzato che introduciamo in questa lezione perché è molto utile e facile da usare!

📚 Riepilogo della Lezione

✅ Cosa abbiamo imparato:

  • Le variabili sono contenitori per memorizzare dati
  • I tipi fondamentali: int, float, str e bool
  • Come convertire tra diversi tipi di dati
  • Le regole per dare nomi corretti alle variabili
  • Come usare input() per ricevere dati dall’utente

🔑 Concetti chiave da ricordare:

  • input() restituisce sempre una stringa
  • Usare int() o float() per convertire stringhe in numeri
  • Usare str() per convertire numeri in stringhe
  • Python distingue maiuscole e minuscole nei nomi delle variabili

🚀 Pronto per esercitarti?

Ora che hai imparato le basi delle variabili e dei tipi di dati, è il momento di mettere in pratica!


Vai agli Esercizi Pratici →

Torna in alto