Python: analizzare i consumi energetici con numeri, stringhe e booleani

by theArchitect
SHARE
Python: analizzare i consumi energetici con numeri, stringhe e booleani
© Guida-HTML5.it

Introduzione

Un modo concreto per imparare i tipi di dati di base in Python è costruire un piccolo programma che analizzi il consumo energetico di un dispositivo. In questo scenario utilizzeremo tre categorie fondamentali:

  • Numeri, per rappresentare i watt consumati, le ore di utilizzo e il costo dell’energia.
  • Stringhe, per memorizzare il nome del dispositivo e produrre messaggi leggibili.
  • Booleani, per indicare se il consumo supera una soglia stabilita.

L’obiettivo è stimare il consumo giornaliero e mensile di un elettrodomestico, calcolando anche il relativo costo. Il programma mostrerà inoltre un avviso quando il dispositivo risulta particolarmente energivoro.

Questo esempio è utile perché combina dichiarazione di variabili, operazioni aritmetiche, confronti, conversioni numeriche e formattazione delle stringhe, senza introdurre ancora strutture dati complesse.

Codice completo

# Nome del dispositivo: stringa
dispositivo = "Stufa elettrica"

# Potenza del dispositivo in watt: numero intero
potenza_watt = 1500

# Ore di utilizzo giornaliere: numero decimale
ore_al_giorno = 4.5

# Costo di un kilowattora in euro: numero decimale
costo_kwh = 0.28

# Soglia oltre la quale consideriamo alto il consumo giornaliero
soglia_kwh = 5.0

# Conversione della potenza da watt a kilowatt
potenza_kw = potenza_watt / 1000

# Calcolo del consumo giornaliero
consumo_giornaliero = potenza_kw * ore_al_giorno

# Stima del consumo mensile su 30 giorni
consumo_mensile = consumo_giornaliero * 30

# Calcolo del costo giornaliero e mensile
costo_giornaliero = consumo_giornaliero * costo_kwh
costo_mensile = consumo_mensile * costo_kwh

# Espressione booleana: True se il consumo supera la soglia
consumo_alto = consumo_giornaliero > soglia_kwh

print(f"Dispositivo: {dispositivo}")
print(f"Potenza: {potenza_watt} W")
print(f"Utilizzo medio: {ore_al_giorno} ore al giorno")
print(f"Consumo giornaliero: {consumo_giornaliero:.2f} kWh")
print(f"Consumo mensile stimato: {consumo_mensile:.2f} kWh")
print(f"Costo giornaliero: {costo_giornaliero:.2f} euro")
print(f"Costo mensile stimato: {costo_mensile:.2f} euro")

if consumo_alto:
    print("Attenzione: il consumo giornaliero supera la soglia.")
else:
    print("Il consumo giornaliero è entro la soglia prevista.")

Spiegazione

Numeri interi e decimali

La variabile potenza_watt contiene il valore 1500, un numero intero, chiamato in Python int. La potenza viene normalmente indicata in watt, ma per calcolare i kilowattora è necessario convertirla in kilowatt:

potenza_kw = potenza_watt / 1000

L’operatore / esegue una divisione e restituisce normalmente un numero decimale, cioè un valore di tipo float. Per esempio, 1500 watt diventano 1.5 kilowatt.

La variabile ore_al_giorno contiene invece il valore 4.5. Il consumo si calcola moltiplicando la potenza in kilowatt per il numero di ore di utilizzo:

consumo_giornaliero = potenza_kw * ore_al_giorno

Il simbolo * rappresenta la moltiplicazione. Python supporta anche altre operazioni aritmetiche importanti:

  • + per la somma;
  • - per la sottrazione;
  • * per la moltiplicazione;
  • / per la divisione;
  • // per la divisione intera;
  • % per il resto della divisione;
  • ** per l’elevamento a potenza.

Stringhe e messaggi leggibili

La variabile dispositivo contiene una stringa, cioè una sequenza di caratteri racchiusa tra virgolette. Le stringhe sono adatte per nomi, descrizioni, etichette e messaggi.

Nel programma vengono utilizzate le f-string, introdotte anteponendo la lettera f alla stringa:

print(f"Dispositivo: {dispositivo}")

Le parentesi graffe permettono di inserire direttamente il valore di una variabile nel testo. Questa tecnica è più leggibile rispetto alla concatenazione manuale con l’operatore +.

Nei risultati numerici è presente anche la specifica :.2f:

print(f"Costo mensile stimato: {costo_mensile:.2f} euro")

Questa formattazione visualizza il numero con due cifre decimali. È particolarmente utile per prezzi, costi e misure che devono essere presentate in modo ordinato.

Booleani e condizioni

La variabile consumo_alto contiene un valore booleano. In Python i booleani possono essere soltanto True oppure False:

consumo_alto = consumo_giornaliero > soglia_kwh

L’espressione confronta il consumo effettivo con la soglia. Se il consumo è maggiore della soglia, il risultato sarà True; altrimenti sarà False.

Il valore booleano viene poi utilizzato da un’istruzione condizionale:

if consumo_alto:
    print("Attenzione: il consumo giornaliero supera la soglia.")
else:
    print("Il consumo giornaliero è entro la soglia prevista.")

È importante rispettare l’indentazione. In Python il blocco appartenente a if e else viene identificato dagli spazi iniziali, normalmente quattro.

Best practice

  • Usa nomi descrittivi: consumo_mensile è più comprensibile di un nome generico come x.
  • Mantieni coerenti le unità di misura: converti i watt in kilowatt prima di calcolare i kilowattora.
  • Evita numeri “magici” sparsi nel codice: assegnare 30 a un contesto mensile o 5.0 a una soglia rende il programma più facile da modificare.
  • Formatta i risultati: per costi e misure decimali, usare due cifre rende l’output più professionale.
  • Non confondere = e ==: il primo assegna un valore, mentre il secondo confronta due valori.
  • Considera la precisione dei float: i numeri decimali possono avere piccole imprecisioni interne. Per un’applicazione finanziaria reale si potrebbe valutare il modulo decimal.
  • Commenta solo ciò che serve: i commenti devono chiarire le intenzioni del codice, non ripetere ogni singola istruzione.

Una possibile estensione consiste nel confrontare più dispositivi oppure nel permettere all’utente di inserire potenza e ore di utilizzo tramite input(). In quel caso, i dati ricevuti sarebbero stringhe e dovrebbero essere convertiti con int() o float() prima dei calcoli.

Riepilogo

In questo progetto abbiamo usato i tipi di dati fondamentali di Python in un contesto realistico. I numeri hanno permesso di eseguire conversioni e calcoli sul consumo energetico. Le stringhe hanno descritto il dispositivo e costruito messaggi di output chiari. I booleani hanno rappresentato il risultato di un confronto e guidato una decisione tramite if ed else.

La combinazione di questi tre tipi costituisce una base essenziale per programmi più completi: sistemi di monitoraggio, pannelli informativi, strumenti di analisi e applicazioni domestiche intelligenti.

Approfondisci con risorse ufficiali

SHARE