If/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
- Il ciclo while esterno itera su ogni viaggio nella lista
travel_costsutilizzando l'indicei; - Il ciclo while interno scorre le spese del viaggio corrente utilizzando l'indice
j; - La
if/elsecondizione 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.
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
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 5
If/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
- Il ciclo while esterno itera su ogni viaggio nella lista
travel_costsutilizzando l'indicei; - Il ciclo while interno scorre le spese del viaggio corrente utilizzando l'indice
j; - La
if/elsecondizione 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.
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
Grazie per i tuoi commenti!
single