Vai al contenuto

Variabili e tipi di dati

In questa lezione impari a

  • scegliere nomi validi per le variabili
  • riconoscere i quattro tipi di dati di base
  • convertire un dato da un tipo all'altro
  • capire perché input() restituisce sempre testo

Le variabili, ancora

Una variabile si crea assegnandole un valore: nome_variabile = valore. Non serve dichiararla prima, come invece facevi in Flowgorithm con il blocco Dichiara: Python capisce da solo il tipo guardando il valore.

Regole per i nomi

  • iniziano con una lettera o con _ (mai con un numero)
  • contengono solo lettere, numeri e _ (niente spazi, niente accenti)
  • maiuscole e minuscole contano: Eta ed eta sono due variabili diverse
  • non possono essere parole riservate di Python, come if, for, print
eta_studente = 15     # corretto
_contatore = 0        # corretto
2classe = "1B"        # ERRORE: inizia con un numero
voto finale = 8       # ERRORE: contiene uno spazio

I quattro tipi di dati

Tipo Nome in Python Esempi Si usa per
Intero int 15, -3, 2026 conteggi, età, quantità
Decimale float 3.14, 7.5 misure, prezzi, medie
Testo str "Ciao", '1B' nomi, frasi
Booleano bool True, False sì/no, vero/falso

I decimali si scrivono con il punto, non con la virgola: 7.5, non 7,5.

Le stringhe

Il testo si chiama stringa e va tra virgolette, singole o doppie. Con il testo puoi fare due operazioni:

saluto = "Ciao" + " " + "Marta"   # concatenazione: "Ciao Marta"
linea = "-" * 20                  # ripetizione: 20 trattini
print(saluto)
print(linea)

Che tipo è?

La funzione type() ti dice il tipo di un valore:

print(type(15))       # <class 'int'>
print(type(7.5))      # <class 'float'>
print(type("ciao"))   # <class 'str'>
print(type(True))     # <class 'bool'>

Convertire i tipi

Funzione Converte in Esempio
int() intero int("15") diventa 15
float() decimale float("7.5") diventa 7.5
str() testo str(15) diventa "15"

Attenzione a input()

input() restituisce sempre una stringa, anche se l'utente scrive un numero. Per fare calcoli devi convertirla:

eta = input("Quanti anni hai? ")
print(eta + 1)        # ERRORE: non si può sommare testo e numero

eta = int(input("Quanti anni hai? "))
print(eta + 1)        # corretto

Esercizi

Esercizio 1 – Tra dieci anni. Chiedi nome ed età. Stampa il nome tutto in maiuscolo e l'età che avrà tra 10 anni. Suggerimento: nome.upper() trasforma il testo in maiuscolo.

Mostra la soluzione
nome = input("Come ti chiami? ")
eta = int(input("Quanti anni hai? "))

print("Ciao", nome.upper())
print("Tra 10 anni avrai", eta + 10, "anni")

Esercizio 2 – Indovina il tipo. Senza eseguirlo, scrivi su un foglio il tipo di ogni variabile. Poi controlla con type().

a = 10
b = "10"
c = 10.0
d = 10 > 5
Mostra la soluzione

a è int, b è str (è tra virgolette), c è float (ha il punto), d è bool (il confronto 10 > 5 vale True).

Esercizio 3 – Il prezzo. Chiedi il prezzo di un prodotto (può avere i decimali) e quanti pezzi si vogliono comprare, poi stampa il totale.

Mostra la soluzione
prezzo = float(input("Prezzo di un pezzo: "))
pezzi = int(input("Quanti pezzi? "))
totale = prezzo * pezzi
print("Totale da pagare:", totale, "euro")