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 | For-Silmukka
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Python-Silmukoiden Opas

bookSisäkkäinen While-silmukka

Monitasoisen datan, kuten eri matkojen kulujen, järjestäminen tai analysointi voi vaatia useampia käsittelytasoja. Sisäkkäinen while-silmukka mahdollistaa tällaisten moniulotteisten tilanteiden tehokkaan käsittelyn 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.). Sisäkkäisellä while-silmukalla 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;
  • Tulosten tulostus: kun matkan kulut on laskettu yhteen, ohjelma tulostaa kyseisen matkan kokonaiskustannuksen;
  • Siirtyminen seuraavaan matkaan: muuttujaa i kasvatetaan, jotta seuraava matka analysoidaan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukoiden jälkeen tulostetaan matka, jolla on suurin kokonaiskustannus, sekä sen arvo.
Note
Huomio

Sisäkkäisiä silmukoita käytetään yleisesti n-ulotteisten matriisien läpikäyntiin, missä jokainen sisäkkäisyyden taso vastaa 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 yhden matkan kuluja. Jokainen matka sisältää erilaisia kustannuksia, kuten lennot, hotellit, ruoka ja aktiviteetit. Koska kulut vaihtelevat, sinun tulee tunnistaa jokaisen matkan suurin yksittäinen kulu suurimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista kuvaa yhden matkan kustannuksia.
  2. Tunnista jokaiselta matkalta 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

Monitasoisen datan, kuten eri matkojen kulujen, järjestäminen tai analysointi voi vaatia useampia käsittelytasoja. Sisäkkäinen while-silmukka mahdollistaa tällaisten moniulotteisten tilanteiden tehokkaan käsittelyn 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.). Sisäkkäisellä while-silmukalla 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;
  • Tulosten tulostus: kun matkan kulut on laskettu yhteen, ohjelma tulostaa kyseisen matkan kokonaiskustannuksen;
  • Siirtyminen seuraavaan matkaan: muuttujaa i kasvatetaan, jotta seuraava matka analysoidaan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukoiden jälkeen tulostetaan matka, jolla on suurin kokonaiskustannus, sekä sen arvo.
Note
Huomio

Sisäkkäisiä silmukoita käytetään yleisesti n-ulotteisten matriisien läpikäyntiin, missä jokainen sisäkkäisyyden taso vastaa 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 yhden matkan kuluja. Jokainen matka sisältää erilaisia kustannuksia, kuten lennot, hotellit, ruoka ja aktiviteetit. Koska kulut vaihtelevat, sinun tulee tunnistaa jokaisen matkan suurin yksittäinen kulu suurimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista kuvaa yhden matkan kustannuksia.
  2. Tunnista jokaiselta matkalta 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