If/Else in een Geneste Lus
De if/else
-verklaringen zijn essentieel voor het toevoegen van voorwaarden aan geneste lussen. Ze stellen je in staat om gegevens te filteren, verwerken of categoriseren, zoals het identificeren van specifieke waarden in lijsten of matrices.
Laten we dit concept aanpassen aan een praktische taak: het filteren van reiskosten. Als een uitgave een bepaalde budgetdrempel overschrijdt, markeren we deze als "Expensive"
; anders printen we de oorspronkelijke uitgave.
Stel dat je een lijst met reizen hebt en elke reis bevat uitgaven voor categorieën zoals vluchten, hotels, eten en activiteiten. Je doel is om elke uitgave te controleren:
Als de uitgave meer dan $200 bedraagt, markeer deze als
Expensive
;Anders print je de oorspronkelijke uitgave.
# 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
De buitenste while-lus doorloopt elke reis in de
travel_costs
-lijst met behulp van de indexi
;De binnenste while-lus doorloopt de uitgaven voor de huidige reis met behulp van de index
j
;De
if/else
voorwaarde controleert of een uitgave groter is dan $200;Na het verwerken van alle uitgaven voor een reis, gaat het programma naar de volgende regel en gaat verder naar de volgende reis.
Swipe to start coding
Je krijgt een lijst van reisuitgaven voor meerdere reizen. Elke reis wordt weergegeven als een geneste lijst met verschillende uitgaven zoals vervoer, accommodatie, eten en activiteiten. Je taak is om deze uitgaven te verwerken door "goedkope" kosten te identificeren terwijl je de zelfde geneste structuur behoudt.
- Je krijgt een tweedimensionale lijst (lijst van lijsten), waarbij elke interne lijst de uitgaven van een enkele reis vertegenwoordigt.
- Itereer door de uitgavenlijst van elke reis.
- Vervang elke uitgave van $100 of minder door
"Cheap"
, terwijl andere waarden ongewijzigd blijven. - Sla de getransformeerde uitgaven op in een nieuwe tweedimensionale lijst met dezelfde structuur
Oplossing
Bedankt voor je feedback!