Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nestet While-løkke | Nøstede Løkker
Python-løkker Veiledning
Seksjon 3. Kapittel 2
single

single

Nestet While-løkke

Sveip for å vise menyen

Du kan ha behov for å organisere eller analysere data med flere nivåer, for eksempel å holde oversikt over utgifter for ulike reiser. En nestet while-løkke gjør det mulig å håndtere slike flerdimensjonale scenarier effektivt når antall iterasjoner ikke er forhåndsbestemt.

Tenk deg at du har flere reiser, og hver reise har en liste med utgifter (fly, hotell, mat osv.). Ved å bruke en nestet while-løkke kan du beregne de totale kostnadene for hver reise.

12345678910111213141516171819202122232425262728293031323334
# List of trips with their respective expenses travel_costs = [ [500, 200, 100, 150], # Trip 1: Flights, Hotels, Food, Activities [600, 250, 120, 200], # Trip 2: Flights, Hotels, Food, Activities [550, 180, 130, 170] # Trip 3: Flights, Hotels, Food, Activities ] # Variables to track the maximum cost max_cost = 0 max_trip = 0 # Outer loop to iterate over trips i = 0 while i < len(travel_costs): total_cost = 0 j = 0 # Inner loop to iterate over expenses in each trip while j < len(travel_costs[i]): total_cost += travel_costs[i][j] j += 1 # Print the total cost for the current trip print('Total cost for Trip', i + 1, ':', total_cost) # Check if this trip is the new maximum if total_cost > max_cost: max_cost = total_cost max_trip = i + 1 i += 1 # Final output: print the trip with the highest total cost print("Trip", max_trip, "has the highest total cost of", max_cost)
  • Ytre løkke: while i < len(travel_costs) itererer gjennom listen over reiser, der hver rad representerer utgiftene for én reise;
  • Indre løkke: while j < len(travel_costs[i]) itererer gjennom utgiftene for den aktuelle reisen og summerer dem i variabelen total_cost;
  • Skrive ut resultater: etter å ha summert utgiftene for en reise, skriver programmet ut de totale kostnadene for den reisen;
  • Gå videre til neste reise: øk i for å analysere neste reise til alle er behandlet;
  • Endelig resultat: etter at løkken er ferdig, skrives reise-nummeret med høyest total kostnad og verdien ut.
Note
Merk

Nøstede løkker brukes ofte for å iterere gjennom n-dimensjonale matriser, der hvert nivå av nøsting representerer en dimensjon. I våre oppgaver arbeider vi med en 2-dimensjonal matrise, for eksempel en liste over reiser og deres utgifter. Nøstede løkker er også nyttige for dynamiske løkkescenarier, som inndatavalgidering eller navigering i flernivåmenyer, der antall iterasjoner ikke er fastsatt og avhenger av endrede forhold eller brukerinput.

Oppgave

Sveip for å begynne å kode

Du analyserer et datasett med reisekostnader, der hver underliste representerer utgiftene for en enkelt reise. Hver reise inkluderer ulike kostnader som fly, hotell, mat og aktiviteter. Siden utgiftene varierer, må du identifisere den høyeste utgiften for hver reise for å holde oversikt over de største kostnadene.

  1. Du får en liste travel_costs, der hver underliste representerer utgiftene for én reise.
  2. For hver reise, identifiser den høyeste utgiften.
  3. Lagre de høyeste utgiftene i listen max_costs.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt