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 | Sisäkkäiset Silmukat
Python-Silmukoiden Opas

bookSisäkkäinen While-silmukka

Saatat joutua järjestämään tai analysoimaan dataa, jossa on useita tasoja, kuten eri matkojen kulujen seuraaminen. 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 luettelo 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 i-muuttujaa, jotta seuraava matka analysoidaan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukan jälkeen tulostetaan sen matkan numero, jolla on suurin kokonaiskustannus, sekä kustannuksen arvo.
Tehtävä

Swipe to start coding

Analysoit matkakustannusten tietojoukkoa, jossa kukin alilista edustaa yksittäisen 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 merkittävimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista kuvaa yhden matkan kustannuksia.
  2. Tunnista jokaisesta matkasta suurin kulu.
  3. Tallenna suurimmat kulut max_costs-listaan.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain how the nested while loops work in this example?

What would change if the number of expenses per trip was different for each trip?

Can you show how to modify this code to also calculate the average cost per trip?

close

Awesome!

Completion rate improved to 5

bookSisäkkäinen While-silmukka

Pyyhkäise näyttääksesi valikon

Saatat joutua järjestämään tai analysoimaan dataa, jossa on useita tasoja, kuten eri matkojen kulujen seuraaminen. 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 luettelo 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 i-muuttujaa, jotta seuraava matka analysoidaan, kunnes kaikki matkat on käsitelty;
  • Lopputulos: silmukan jälkeen tulostetaan sen matkan numero, jolla on suurin kokonaiskustannus, sekä kustannuksen arvo.
Tehtävä

Swipe to start coding

Analysoit matkakustannusten tietojoukkoa, jossa kukin alilista edustaa yksittäisen 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 merkittävimpien kustannusten seuraamiseksi.

  1. Saat listan travel_costs, jossa jokainen alilista kuvaa yhden matkan kustannuksia.
  2. Tunnista jokaisesta matkasta suurin kulu.
  3. Tallenna suurimmat kulut max_costs-listaan.

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!

close

Awesome!

Completion rate improved to 5
Osio 3. Luku 2
single

single

some-alt