Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära If/Else i en Nästlad Loop | The For-Loop
Practice
Projects
Quizzes & Challenges
Frågesporter
Challenges
/
Python Loopar Handledning

bookIf/Else i en Nästlad Loop

if/else-satser är avgörande för att lägga till villkor i nästlade loopar. De möjliggör filtrering, bearbetning eller kategorisering av data, till exempel att identifiera specifika värden i listor eller matriser.

Låt oss tillämpa detta koncept på en praktisk uppgift: filtrering av resekostnader. Om en kostnad överstiger en viss budgetgräns markeras den som "Expensive"; annars skrivs den ursprungliga kostnaden ut.

Anta att du har en lista med resor, och varje resa innehåller kostnader för kategorier som flyg, hotell, mat och aktiviteter. Målet är att kontrollera varje kostnad:

  • Om kostnaden överstiger $200, markera den som Expensive;
  • Annars skriv ut den ursprungliga kostnaden.
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
  • Den yttre while-loopen itererar genom varje resa i listan travel_costs med hjälp av indexet i;
  • 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 alla kostnader för en resa har bearbetats, går programmet till nästa rad och fortsätter till nästa resa.
Uppgift

Swipe to start coding

Du får 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 får en tvådimensionell lista (lista av listor), där varje inre lista representerar utgifterna för en enskild resa.
  • Iterera genom varje resas utgiftslista.
  • Ersätt alla utgifter på 100 dollar eller mindre med "Cheap", och behåll övriga värden oförändrade.
  • Spara de omvandlade utgifterna i en ny tvådimensionell lista med samma struktur.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 15
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

bookIf/Else i en Nästlad Loop

Svep för att visa menyn

if/else-satser är avgörande för att lägga till villkor i nästlade loopar. De möjliggör filtrering, bearbetning eller kategorisering av data, till exempel att identifiera specifika värden i listor eller matriser.

Låt oss tillämpa detta koncept på en praktisk uppgift: filtrering av resekostnader. Om en kostnad överstiger en viss budgetgräns markeras den som "Expensive"; annars skrivs den ursprungliga kostnaden ut.

Anta att du har en lista med resor, och varje resa innehåller kostnader för kategorier som flyg, hotell, mat och aktiviteter. Målet är att kontrollera varje kostnad:

  • Om kostnaden överstiger $200, markera den som Expensive;
  • Annars skriv ut den ursprungliga kostnaden.
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
  • Den yttre while-loopen itererar genom varje resa i listan travel_costs med hjälp av indexet i;
  • 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 alla kostnader för en resa har bearbetats, går programmet till nästa rad och fortsätter till nästa resa.
Uppgift

Swipe to start coding

Du får 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 får en tvådimensionell lista (lista av listor), där varje inre lista representerar utgifterna för en enskild resa.
  • Iterera genom varje resas utgiftslista.
  • Ersätt alla utgifter på 100 dollar eller mindre med "Cheap", och behåll övriga värden oförändrade.
  • Spara de omvandlade utgifterna i en ny tvådimensionell lista med samma struktur.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 15
single

single

some-alt