Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sisäkkäinen While-silmukka | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Python-silmukat

bookSisäkkäinen While-silmukka

Saatat joutua järjestämään tai analysoimaan tietoja, joissa on useita tasoja, kuten seuraamaan eri matkojen kuluja. Sisäkkäinen while-silmukka mahdollistaa tällaisten moniulotteisten tilanteiden käsittelyn tehokkaasti silloin, kun toistojen määrää ei tiedetä etukäteen.

Kuvittele, että sinulla on useita matkoja ja jokaisella matkalla on lista kuluista (lennot, hotellit, ruoka jne.). Käyttämällä sisäkkäistä while-silmukkaa voit laskea jokaisen matkan kokonaiskustannukset.

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)
copy
  • Ulkoinen silmukka: while i < len(travel_costs) käy läpi matkojen listan, jossa jokainen rivi edustaa yhden matkan kuluja;
  • Sisäinen silmukka: while j < len(travel_costs[i]) käy läpi nykyisen matkan kulut ja laskee ne yhteen muuttujaan total_cost;
  • Tulosta tulokset: kun matkan kulut on laskettu yhteen, ohjelma tulostaa kyseisen matkan kokonaiskustannuksen;
  • Siirry seuraavaan matkaan: kasvata muuttujaa i analysoidaksesi seuraavan matkan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukan jälkeen tulostetaan sen matkan numero, jolla on suurin kokonaiskustannus, sekä kustannuksen arvo.
Note
Huomio

Sisäkkäisiä silmukoita käytetään yleisesti n-ulotteisten matriisien läpikäyntiin, missä jokainen sisäkkäisyyden taso edustaa yhtä ulottuvuutta. Tehtävissämme käsittelemme 2-ulotteista matriisia, kuten matkalistojen ja niiden kulujen käsittelyä. Sisäkkäiset silmukat ovat hyödyllisiä myös dynaamisissa silmukointitilanteissa, kuten syötteen validoinnissa tai monitasoisten valikoiden läpikäynnissä, joissa toistojen määrä ei ole kiinteä vaan riippuu muuttuvista ehdoista tai käyttäjän syötteestä.

Tehtävä

Swipe to start coding

Analysoit matkakustannusten tietojoukkoa, jossa kukin alilista edustaa yksittäisen matkan kuluja. Jokainen matka sisältää erilaisia kuluja, kuten lennot, hotellit, ruoka ja aktiviteetit. Koska kulut vaihtelevat, sinun tulee tunnistaa jokaisen matkan suurin yksittäinen kulu merkittävimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista edustaa yhden matkan kuluja.
  2. Tunnista jokaisesta matkasta suurin yksittäinen kulu.
  3. Tallenna suurimmat kulut listaan max_costs.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

bookSisäkkäinen While-silmukka

Pyyhkäise näyttääksesi valikon

Saatat joutua järjestämään tai analysoimaan tietoja, joissa on useita tasoja, kuten seuraamaan eri matkojen kuluja. Sisäkkäinen while-silmukka mahdollistaa tällaisten moniulotteisten tilanteiden käsittelyn tehokkaasti silloin, kun toistojen määrää ei tiedetä etukäteen.

Kuvittele, että sinulla on useita matkoja ja jokaisella matkalla on lista kuluista (lennot, hotellit, ruoka jne.). Käyttämällä sisäkkäistä while-silmukkaa voit laskea jokaisen matkan kokonaiskustannukset.

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)
copy
  • Ulkoinen silmukka: while i < len(travel_costs) käy läpi matkojen listan, jossa jokainen rivi edustaa yhden matkan kuluja;
  • Sisäinen silmukka: while j < len(travel_costs[i]) käy läpi nykyisen matkan kulut ja laskee ne yhteen muuttujaan total_cost;
  • Tulosta tulokset: kun matkan kulut on laskettu yhteen, ohjelma tulostaa kyseisen matkan kokonaiskustannuksen;
  • Siirry seuraavaan matkaan: kasvata muuttujaa i analysoidaksesi seuraavan matkan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukan jälkeen tulostetaan sen matkan numero, jolla on suurin kokonaiskustannus, sekä kustannuksen arvo.
Note
Huomio

Sisäkkäisiä silmukoita käytetään yleisesti n-ulotteisten matriisien läpikäyntiin, missä jokainen sisäkkäisyyden taso edustaa yhtä ulottuvuutta. Tehtävissämme käsittelemme 2-ulotteista matriisia, kuten matkalistojen ja niiden kulujen käsittelyä. Sisäkkäiset silmukat ovat hyödyllisiä myös dynaamisissa silmukointitilanteissa, kuten syötteen validoinnissa tai monitasoisten valikoiden läpikäynnissä, joissa toistojen määrä ei ole kiinteä vaan riippuu muuttuvista ehdoista tai käyttäjän syötteestä.

Tehtävä

Swipe to start coding

Analysoit matkakustannusten tietojoukkoa, jossa kukin alilista edustaa yksittäisen matkan kuluja. Jokainen matka sisältää erilaisia kuluja, kuten lennot, hotellit, ruoka ja aktiviteetit. Koska kulut vaihtelevat, sinun tulee tunnistaa jokaisen matkan suurin yksittäinen kulu merkittävimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista edustaa yhden matkan kuluja.
  2. Tunnista jokaisesta matkasta suurin yksittäinen kulu.
  3. Tallenna suurimmat kulut listaan max_costs.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14
single

single

some-alt