If/Else i en Nästlad Loop
if/else
-satser är viktiga för att lägga till villkor i nästlade loopar. De låter dig filtrera, bearbeta eller kategorisera data, såsom att identifiera specifika värden i listor eller matriser.
Låt oss anpassa detta koncept till en praktisk uppgift: filtrera resekostnader. Om en kostnad överstiger en viss budgetgräns, kommer vi att markera den som "Expensive"
; annars skriver vi ut den ursprungliga kostnaden.
Anta att du har en lista över resor, och varje resa innehåller kostnader för kategorier som flyg, hotell, mat och aktiviteter. Ditt mål är att kontrollera varje kostnad:
Om kostnaden överstiger $200, markera den som
Expensive
;Annars, skriv ut den ursprungliga kostnaden.
# 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
Den yttre while-loopen itererar genom varje resa i
travel_costs
-listan med hjälp av indexeti
;Den inre while-loopen går igenom kostnaderna för den aktuella resan med hjälp av indexet
j
;if/else
-villkoret kontrollerar om en kostnad är större än $200;Efter att ha bearbetat alla kostnader för en resa, flyttar programmet till nästa rad och fortsätter till nästa resa.
Swipe to start coding
Du har fått en lista över reseutgifter för flera resor. Varje resa representeras som en nästlad lista som innehåller olika utgifter såsom transport, boende, mat och aktiviteter. Din uppgift är att bearbeta dessa utgifter genom att identifiera "billiga" kostnader samtidigt som du behåller samma nästlade struktur.
- Du har fått en tvådimensionell lista (lista av listor), där varje inre lista representerar en enskild resas utgifter.
- Iterera genom varje resas utgiftslista.
- Ersätt alla utgifter på $100 eller mindre med
"Cheap"
, och behåll andra värden oförändrade. - Spara de transformerade utgifterna i en ny tvådimensionell lista med samma struktur
Lösning
Tack för dina kommentarer!