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

Scorri per mostrare il menu

book
If/Else in un Ciclo Annidato

Le istruzioni if/else sono essenziali per aggiungere condizioni ai cicli annidati. Consentono di filtrare, elaborare o categorizzare i dati, come identificare valori specifici in elenchi o matrici.

Adattiamo questo concetto a un compito pratico: filtrare le spese di viaggio. Se una spesa supera una certa soglia di budget, la segneremo come "Expensive"; altrimenti, stamperemo la spesa originale.

Supponiamo di avere un elenco di viaggi e ogni viaggio contenga spese per categorie come voli, hotel, cibo e attività. Il tuo obiettivo è controllare ogni spesa:

  • Se la spesa supera $200, segnarla 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 attraverso ogni viaggio nella lista travel_costs usando l'indice i;

  • Il ciclo while interno attraversa le spese per il viaggio corrente usando l'indice j;

  • La condizioneif/else verifica se una spesa è maggiore di $200;

  • Dopo aver elaborato tutte le spese per un viaggio, il programma passa alla riga successiva e procede al 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 fornito un elenco bidimensionale (elenco di elenchi), dove ogni elenco interno rappresenta le spese di un singolo viaggio.
  • Itera attraverso l'elenco delle spese di ogni viaggio.
  • Sostituisci qualsiasi spesa di $100 o meno con "Cheap", mantenendo inalterati gli altri valori.
  • Memorizza le spese trasformate in un nuovo elenco 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
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

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

book
If/Else in un Ciclo Annidato

Le istruzioni if/else sono essenziali per aggiungere condizioni ai cicli annidati. Consentono di filtrare, elaborare o categorizzare i dati, come identificare valori specifici in elenchi o matrici.

Adattiamo questo concetto a un compito pratico: filtrare le spese di viaggio. Se una spesa supera una certa soglia di budget, la segneremo come "Expensive"; altrimenti, stamperemo la spesa originale.

Supponiamo di avere un elenco di viaggi e ogni viaggio contenga spese per categorie come voli, hotel, cibo e attività. Il tuo obiettivo è controllare ogni spesa:

  • Se la spesa supera $200, segnarla 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 attraverso ogni viaggio nella lista travel_costs usando l'indice i;

  • Il ciclo while interno attraversa le spese per il viaggio corrente usando l'indice j;

  • La condizioneif/else verifica se una spesa è maggiore di $200;

  • Dopo aver elaborato tutte le spese per un viaggio, il programma passa alla riga successiva e procede al 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 fornito un elenco bidimensionale (elenco di elenchi), dove ogni elenco interno rappresenta le spese di un singolo viaggio.
  • Itera attraverso l'elenco delle spese di ogni viaggio.
  • Sostituisci qualsiasi spesa di $100 o meno con "Cheap", mantenendo inalterati gli altri valori.
  • Memorizza le spese trasformate in un nuovo elenco 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
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt