Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara If/Else in un Ciclo Annidato | Cicli Annidati
Tutorial sui Cicli in Python

bookIf/Else in un Ciclo Annidato

Le istruzioni if/else sono fondamentali per aggiungere condizioni ai cicli annidati. Consentono di filtrare, elaborare o categorizzare i dati, ad esempio identificando valori specifici in liste o matrici.

Applichiamo questo concetto a un compito pratico: filtrare le spese di viaggio. Se una spesa supera una determinata soglia di budget, verrà contrassegnata come "Expensive"; altrimenti, verrà stampata la spesa originale.

Supponiamo di avere una lista di viaggi, e ogni viaggio contiene spese per categorie come voli, hotel, cibo e attività. L'obiettivo è controllare ogni spesa:

  • Se la spesa supera $200, contrassegnarla come Expensive;
  • Altrimenti, stampare la spesa originale.
1234567891011121314151617181920212223
# Travel expenses for multiple trips travel_costs = [ [500, 150, 100, 50], # Trip 1 [200, 300, 120, 80], # Trip 2 [180, 220, 130, 170] # Trip 3 ] # Setting outer while loop to work with rows (trips) i = 0 while i < len(travel_costs): j = 0 print(f"Trip {i + 1} expenses: ", end='') # Label for the current trip # Setting inner while loop to work with expenses in the current trip while j < len(travel_costs[i]): if travel_costs[i][j] > 200: # Check if expense is greater than 200 print('Expensive', end=' ') else: print(travel_costs[i][j], end=' ') j += 1 # Move to the next expense print('') # Move to the next line after each trip i += 1 # Move to the next trip
copy
  • Il ciclo while esterno itera su ogni viaggio nella lista travel_costs utilizzando l'indice i;
  • Il ciclo while interno scorre le spese del viaggio corrente utilizzando l'indice j;
  • La if/else condizione verifica se una spesa è superiore a $200;
  • Dopo aver elaborato tutte le spese di un viaggio, il programma passa alla riga successiva e procede con il viaggio successivo.
Compito

Swipe to start coding

Ti viene fornito un elenco di spese di viaggio per più viaggi. Ogni viaggio è rappresentato come una lista annidata contenente varie spese come trasporto, alloggio, cibo e attività. Il tuo compito è elaborare queste spese identificando i costi "economici" mantenendo la stessa struttura annidata.

  • Ti viene fornita una lista bidimensionale (lista di liste), dove ogni lista interna rappresenta le spese di un singolo viaggio.
  • Itera attraverso la lista delle spese di ciascun viaggio.
  • Sostituisci ogni spesa pari o inferiore a $100 con "Cheap", lasciando invariati gli altri valori.
  • Memorizza le spese trasformate in una nuova lista bidimensionale con la stessa struttura

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookIf/Else in un Ciclo Annidato

Scorri per mostrare il menu

Le istruzioni if/else sono fondamentali per aggiungere condizioni ai cicli annidati. Consentono di filtrare, elaborare o categorizzare i dati, ad esempio identificando valori specifici in liste o matrici.

Applichiamo questo concetto a un compito pratico: filtrare le spese di viaggio. Se una spesa supera una determinata soglia di budget, verrà contrassegnata come "Expensive"; altrimenti, verrà stampata la spesa originale.

Supponiamo di avere una lista di viaggi, e ogni viaggio contiene spese per categorie come voli, hotel, cibo e attività. L'obiettivo è controllare ogni spesa:

  • Se la spesa supera $200, contrassegnarla come Expensive;
  • Altrimenti, stampare la spesa originale.
1234567891011121314151617181920212223
# Travel expenses for multiple trips travel_costs = [ [500, 150, 100, 50], # Trip 1 [200, 300, 120, 80], # Trip 2 [180, 220, 130, 170] # Trip 3 ] # Setting outer while loop to work with rows (trips) i = 0 while i < len(travel_costs): j = 0 print(f"Trip {i + 1} expenses: ", end='') # Label for the current trip # Setting inner while loop to work with expenses in the current trip while j < len(travel_costs[i]): if travel_costs[i][j] > 200: # Check if expense is greater than 200 print('Expensive', end=' ') else: print(travel_costs[i][j], end=' ') j += 1 # Move to the next expense print('') # Move to the next line after each trip i += 1 # Move to the next trip
copy
  • Il ciclo while esterno itera su ogni viaggio nella lista travel_costs utilizzando l'indice i;
  • Il ciclo while interno scorre le spese del viaggio corrente utilizzando l'indice j;
  • La if/else condizione verifica se una spesa è superiore a $200;
  • Dopo aver elaborato tutte le spese di un viaggio, il programma passa alla riga successiva e procede con il viaggio successivo.
Compito

Swipe to start coding

Ti viene fornito un elenco di spese di viaggio per più viaggi. Ogni viaggio è rappresentato come una lista annidata contenente varie spese come trasporto, alloggio, cibo e attività. Il tuo compito è elaborare queste spese identificando i costi "economici" mantenendo la stessa struttura annidata.

  • Ti viene fornita una lista bidimensionale (lista di liste), dove ogni lista interna rappresenta le spese di un singolo viaggio.
  • Itera attraverso la lista delle spese di ciascun viaggio.
  • Sostituisci ogni spesa pari o inferiore a $100 con "Cheap", lasciando invariati gli altri valori.
  • Memorizza le spese trasformate in una nuova lista bidimensionale con la stessa struttura

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
single

single

some-alt