Parliamo

project-cherry.dev

Fondamenta9 min

Strutture di Controllo

Gestisci il flusso del programma come la Dott.ssa Bianchi gestisce il triage: decisioni sui pazienti, agenda giornaliera e sala d'attesa.

Strutture di Controllo

Nello studio della Dott.ssa Elena Bianchi arrivano pazienti con urgenze diverse. Alcuni vanno visitati subito, altri possono attendere. Le strutture di controllo funzionano allo stesso modo: permettono al programma di prendere decisioni e ripetere operazioni in base alle condizioni.

if/elif/else — livello urgenza paziente

Quando un paziente entra in studio, il primo passo è valutare l'urgenza. Python usa l'indentazione (4 spazi) per definire i blocchi di codice — non le parentesi graffe come altri linguaggi.

python
# Triage del paziente
livello_urgenza = 8  # scala da 1 a 10

if livello_urgenza >= 8:
    print("Codice rosso: visita immediata")
    sala = "ambulatorio_urgenze"
elif livello_urgenza >= 5:
    print("Codice giallo: attesa breve")
    sala = "sala_attesa_prioritaria"
elif livello_urgenza >= 3:
    print("Codice verde: attesa normale")
    sala = "sala_attesa_generale"
else:
    print("Codice bianco: nessuna urgenza")
    sala = "accettazione"

print(f"Il paziente va in: {sala}")

Ciclo for — agenda giornaliera

La Dott.ssa Bianchi ogni mattina controlla l'agenda. Il ciclo for è perfetto per scorrere una lista di appuntamenti.

python
# Agenda della mattina
appuntamenti = [
    "09:00 - Rossi Mario (controllo)",
    "09:30 - Bianchi Laura (prima visita)",
    "10:00 - Conti Paolo (esami)",
    "10:30 - Ferraro Anna (follow-up)"
]

print("Agenda di oggi:")
for i, appuntamento in enumerate(appuntamenti, 1):
    print(f"  {i}. {appuntamento}")

print(f"\nTotale visite: {len(appuntamenti)}")

La funzione enumerate() aggiunge un contatore automatico — molto più pulito di gestire un indice a mano.

Ciclo while — coda pazienti in sala d'attesa

A differenza del for, il ciclo while continua finché una condizione è vera. Perfetto per situazioni dove non sai in anticipo quante iterazioni servono.

python
# Pazienti in sala d'attesa
pazienti_in_attesa = 5

while pazienti_in_attesa > 0:
    print(f"Pazienti in attesa: {pazienti_in_attesa}")
    print("Prossimo paziente, prego!")
    pazienti_in_attesa -= 1

print("Sala d'attesa vuota. Fine visite.")

Operatori logici combinati

Nella pratica medica spesso servono condizioni multiple. Python usa and, or e not per combinarle.

python
eta_paziente = 72
ha_patologie_croniche = True
temperatura = 38.5

# Paziente da monitorare con attenzione
if eta_paziente > 65 and ha_patologie_croniche:
    print("Paziente fragile: protocollo speciale")

# Sintomi che richiedono attenzione
if temperatura > 38.0 or eta_paziente > 70:
    print("Consigliato approfondimento diagnostico")

# Paziente che NON ha bisogno di follow-up urgente
if not ha_patologie_croniche and temperatura < 37.5:
    print("Nessun follow-up urgente necessario")

Da ricordare

  • if/elif/else per prendere decisioni — Python usa l'indentazione, non le parentesi graffe
  • for per scorrere liste con un numero noto di elementi
  • while per ripetere finché una condizione è vera — attenzione ai cicli infiniti
  • and, or, not per combinare più condizioni
  • enumerate() aggiunge un contatore automatico al ciclo for