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)
- 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)
- 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)
- 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)
- 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!