Vai al contenuto

Verifica pratica (60 minuti)

Applica i cicli, condizioni e liste in un progetto reale!. 🚀 Apri su Google Colab.

⚠️ REGOLE OBBLIGATORIE:

TEMPO: 60 minuti totali ⏰

CONSEGNA: Link al Colab completato

AIUTI: Solo gli hint in questa pagina

PUNTEGGIO: 100 punti totali

🏢 Contesto Reale:

AZIENDA: "SmartBuilding Solutions"

RUOLO: Tecnico sistema energetico

OBIETTIVO: Analizzare consumi edificio smart

STRUMENTI: Python, cicli, condizioni, liste

Parte 1: Dati Sensori Edificio (10 min - 10pt)

  1. Dati forniti (già nel Colab):

consumi_stanze.py

# Dati dei consumi delle stanze (kW/h)
consumi_stanze = [
    "Ufficio1: 2.3kW, Temperatura: 22°C",
    "Ufficio2: 4.1kW, Temperatura: 24°C",
    "SalaRiunioni: 6.5kW, Temperatura: 21°C",
    "Laboratorio: 8.7kW, Temperatura: 23°C",
    "Corridoio: 1.2kW, Temperatura: 20°C",
    "Cucina: 3.8kW, Temperatura: 25°C",
    "Bagno: 0.9kW, Temperatura: 22°C"
]

Compito 1A: Stampa tutti i consumi con numerazione

# Esempio output atteso:
1. Ufficio1: 2.3kW, Temperatura: 22°C
2. Ufficio2: 4.1kW, Temperatura: 24°C
...
7. Bagno: 0.9kW, Temperatura: 22°C

💡 Suggerimento: Usa for i, stanza in enumerate(consumi_stanze, 1):

Parte 2: Sistema Analisi Consumi (15 min - 30pt)

  1. Soglie di consumo:
Consumo (kW) Stato Punteggio
≤ 3.0 kW ✅ NORMALE 0 punti
3.1 - 5.0 kW ⚠️ ATTENZIONE 1 punto
> 5.0 kW 🚨 ALTO CONSUMO 2 punti

Compito 2A: Analizza ogni stanza e assegna lo stato

Codice da completare (nel Colab)

for stanza in consumi_stanze:
    # 1. Estrai il numero dopo ":" e prima di "kW"
    #    Esempio: da "Ufficio1: 2.3kW" prendi 2.3

    # 2. CONVERTI in float

    # 3. CONTROLLA le condizioni:
    #    if consumo <= 3.0: stato = "NORMALE", punti = 0
    #    elif consumo <= 5.0: stato = "ATTENZIONE", punti = 1
    #    else: stato = "ALTO CONSUMO", punti = 2

    # 4. STAMPA risultato
    pass

💡 Suggerimento: Usa .split() per estrarre il numero:

# Per estrarre 2.3 da "Ufficio1: 2.3kW, Temperatura: 22°C"
parti = stanza.split(",")          # ["Ufficio1: 2.3kW", " Temperatura: 22°C"]
parte_consumo = parti[0]           # "Ufficio1: 2.3kW"
parti2 = parte_consumo.split(": ") # ["Ufficio1", "2.3kW"]
numero_str = parti2[1]             # "2.3kW"
consumo = float(numero_str[:-2])   # 2.3  <-- METTI QUESTO

Output atteso:

Ufficio1: 2.3kW → ✅ NORMALE (0 punti)
Ufficio2: 4.1kW → ⚠️ ATTENZIONE (1 punto)
SalaRiunioni: 6.5kW → 🚨 ALTO CONSUMO (2 punti)
...

Parte 3: Report Statistico (20 min - 40pt)

  1. Compito 3A: Organizza i risultati in 3 liste
# LISTE DA CREARE:
stanze_normali = []      # per consumo ≤ 3.0 kW
stanze_attenzione = []   # per consumo 3.1-5.0 kW
stanze_allarme = []      # per consumo > 5.0 kW

# Dopo aver analizzato ogni stanza,
# aggiungila alla lista corretta con .append()

Compito 3B: Calcola le percentuali

# Calcola le percentuali:
# percentuale = (len(lista) / len(consumi_stanze)) * 100

# Stampa il report:
print("="*40)
print("📊 REPORT CONSUMI EDIFICIO")
print("="*40)
print(f"✅ Stanze normali: {len(stanze_normali)} ({percentuale_normali:.1f}%)")
print(f"⚠️ Stanze in attenzione: {len(stanze_attenzione)} ({percentuale_attenzione:.1f}%)")
print(f"🚨 Stanze allarme: {len(stanze_allarme)} ({percentuale_allarme:.1f}%)")
print(f"📈 Totale stanze analizzate: {len(consumi_stanze)}")

💡 Suggerimento: Usa le condizioni della Parte 2 per decidere in quale lista mettere ogni stanza

Parte 4: Extra Challenge (15 min - 20pt BONUS)

  1. Compito 4A: Trova la stanza con il consumo massimo
# VARIABILI:
consumo_massimo = 0
stanza_massima = ""

for stanza in consumi_stanze:
    # Estrai il consumo (come nella Parte 2)

    # Se questo consumo > consumo_massimo:
    #   aggiorna consumo_massimo e stanza_massima

print(f"\n🎯 STANZA CON IL MAGGIOR CONSUMO: {stanza_massima}")
print(f"   Consumo: {consumo_massimo}kW")

💡 Suggerimento: Inizializza consumo_massimo = 0 e confronta ogni consumo

Esempio output:

🎯 STANZA PIÙ ENERIVORA: Laboratorio
   Consumo: 8.7kW

Criteri di Valutazione

Punteggio - Tabella di Valutazione

Parte Punti Tempo Cosa valutiamo
1 - Stampa dati 10 10 min Ciclo for ed enumerate
2 - Analisi consumi 30 15 min If/elif/else, condizioni, split()
3 - Report statistico 40 20 min Liste, percentuali, organizzazione
4 - Bonus 20 15 min Ricerca massimo
TOTALE 100 → Voto finale: punti / 10

Istruzioni consegna:

  • Completa il codice sul Google Colab
  • Esegui tutte le celle per verificare il funzionamento
  • Condividi il link del Colab COMPLETATO
  • Il timer parte quando apri il Colab ⏰

Esempi Visuali

Output Parte 1

1. Ufficio1: 2.3kW, Temperatura: 22°C
2. Ufficio2: 4.1kW, Temperatura: 24°C
3. SalaRiunioni: 6.5kW, Temperatura: 21°C
4. Laboratorio: 8.7kW, Temperatura: 23°C
5. Corridoio: 1.2kW, Temperatura: 20°C
6. Cucina: 3.8kW, Temperatura: 25°C
7. Bagno: 0.9kW, Temperatura: 22°C

Output Parte 3

========================================
📊 REPORT CONSUMI EDIFICIO
========================================
✅ Stanze normali: 3 (42.9%)
⚠️ Stanze in attenzione: 2 (28.6%)
🚨 Stanze allarme: 2 (28.6%)
📈 Totale stanze analizzate: 7

Output Parte 4

🎯 STANZA PIÙ ENERIVORA: Laboratorio
   Consumo: 8.7kW

Suggerimenti Tecnici

Come usare split():

# Esempio con "Ufficio1: 2.3kW, Temperatura: 22°C"
testo = "Ufficio1: 2.3kW, Temperatura: 22°C"

# Primo split per separare consumo da temperatura
parti = testo.split(",")
# parti = ["Ufficio1: 2.3kW", " Temperatura: 22°C"]

# Secondo split per separare nome dal consumo
parti_consumo = parti[0].split(": ")
# parti_consumo = ["Ufficio1", "2.3kW"]

# Rimuovi "kW" usando slicing e converti in numero
numero_str = parti_consumo[1]       # "2.3kW"
consumo = float(numero_str[:-2])    # 2.3
# consumo = 2.3

Schema logico per la Parte 2:

for stanza in consumi_stanze:
    # 1. Usa split() per estrarre il numero
    # 2. Converti in float usando slicing [:-2]
    # 3. Applica if/elif/else:
    if consumo <= 3.0:
        stato = "✅ NORMALE"
        punti = 0
    elif consumo <= 5.0:
        stato = "⚠️ ATTENZIONE"
        punti = 1
    else:
        stato = "🚨 ALTO CONSUMO"
        punti = 2

    # 4. Stampa il risultato
    print(f"{stanza} → {stato} ({punti} punti)")

Informazioni per la Verifica

Istruzioni Finali

Tempo a disposizione:

60 minuti totali • Parti gradualmente • Fai almeno le prime 3 parti

Link Colab:

bit.ly/verifica-python-energia

Il Colab contiene già i dati e la struttura, devi solo completare il codice!

Verifica il funzionamento:

Prima di consegnare, esegui TUTTE le celle del Colab per assicurarti che tutto funzioni.

Buona fortuna!

Ricorda di applicare tutto ciò che abbiamo imparato: cicli, condizioni, liste e percentuali!