Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Iteraatio Indekseillä | Silmukat
Johdanto Python-Ohjelmointiin

Pyyhkäise näyttääksesi valikon

book
Iteraatio Indekseillä

Edellisessä tehtävässä annoit tietyn määrän kohteita range()-funktiolle. Mutta entä jos sinun täytyy määrittää määrä dynaamisesti? Tässä kohtaa indeksin iterointi tulee olennaiseksi.

Indeksin iterointi on keskeinen tekniikka Pythonissa, joka mahdollistaa elementtien käsittelyn ja muokkaamisen niiden sijaintien perusteella tietorakenteissa, kuten listoissa tai taulukoissa. Se on erityisen hyödyllinen tehtävissä, jotka vaativat tarkkaa hallintaa jokaisesta elementistä, kuten varastotasojen päivittämisessä tai myyntitietojen hallinnassa ruokakaupassa.

Katso, kuinka Alex näyttää, miten indeksien iterointi voi yksinkertaistaa toimintoja ruokakauppaesimerkissämme:

Indeksien iterointi on hyödyllistä, kun sinun täytyy päästä käsiksi sekä listan elementin indeksiin että arvoon. Kun käytämme range()-funktiota yhdessä len()-funktion kanssa, yhdistämme kaksi funktiota luodaksemme numerosekvenssin, joka vastaa listan elementtien indeksejä. Tämä menetelmä on erityisen hyödyllinen silmukoissa, joissa sinun täytyy käsitellä tai muokata elementtejä niiden sijainnin perusteella.

Esimerkiksi tämä for-silmukka käsittelee jokaisen elementin indeksin ja arvon grocery_list-listassa:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Esimerkkisovellus

Jotta voimme soveltaa alennusta hintalistaan, meidän on muokattava listan elementtejä suoraan. Yksinkertaisen silmukan käyttäminen kuten for cost in prices: antaisi meille vain kopion kustakin tuotteesta, ei viittausta varsinaiseen listan tuotteeseen. Tällä tavalla tehdyt muutokset eivät vaikuttaisi alkuperäiseen listaan.

Varmistaaksemme, että päivitämme suoraan jokaisen elementin prices-listassa, käytämme range(len(prices)) iteroidaksemme indeksien yli. Tämä mahdollistaa alennuskertoimen soveltamisen jokaiseen elementtiin:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Huom

  • Kaava prices[cost] -= prices[cost] * discount_factor on sama kuin prices[cost] = prices[cost] - prices[cost] * discount_factor . Tämä vähentää osan alkuperäisestä hinnasta (määritetty alennuksella) itsestään, mikä käytännössä soveltaa alennuksen.

  • cost + 1 tulostuslausekkeessa säätää indeksin niin, että se näyttää alkavan 1 sijasta 0 , mikä tekee siitä käyttäjäystävällisemmän.

Tämä menetelmä varmistaa, että alkuperäinen lista prices päivitetään suoraan uusilla, alennetuilla hinnoilla, mikä heijastaa muutokset välittömästi kaikkialla ohjelmassa, missä prices-listaa käytetään.

Tehtävä

Swipe to start coding

Päivitä varastotasot yhdistämällä tiedot kahdesta listasta: stock_items ja shipment_received. Sitten tulos päivittää stock_items-listan.

  • Sekä stock_items että shipment_received ovat listoja, jotka sisältävät tuotteen nimen ja sen määrän.
  • Käytä for-silmukkaa range() ja len() kanssa iteroidaksesi stock_items-indeksien läpi.
  • Jokaiselle tuotteelle lisää lähetyksen määrä olemassa olevaan varastoon ja päivitä arvo stock_items-listassa.

Tulostusvaatimukset

  • Jokaiselle tuotteelle tulosta:
    Stock updated for <product_name>: <updated_quantity> units
  • Kaikkien päivitysten jälkeen tulosta:
    Final stock quantities:
    Stock Items: <stock_items>

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 5. Luku 4
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

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

book
Iteraatio Indekseillä

Edellisessä tehtävässä annoit tietyn määrän kohteita range()-funktiolle. Mutta entä jos sinun täytyy määrittää määrä dynaamisesti? Tässä kohtaa indeksin iterointi tulee olennaiseksi.

Indeksin iterointi on keskeinen tekniikka Pythonissa, joka mahdollistaa elementtien käsittelyn ja muokkaamisen niiden sijaintien perusteella tietorakenteissa, kuten listoissa tai taulukoissa. Se on erityisen hyödyllinen tehtävissä, jotka vaativat tarkkaa hallintaa jokaisesta elementistä, kuten varastotasojen päivittämisessä tai myyntitietojen hallinnassa ruokakaupassa.

Katso, kuinka Alex näyttää, miten indeksien iterointi voi yksinkertaistaa toimintoja ruokakauppaesimerkissämme:

Indeksien iterointi on hyödyllistä, kun sinun täytyy päästä käsiksi sekä listan elementin indeksiin että arvoon. Kun käytämme range()-funktiota yhdessä len()-funktion kanssa, yhdistämme kaksi funktiota luodaksemme numerosekvenssin, joka vastaa listan elementtien indeksejä. Tämä menetelmä on erityisen hyödyllinen silmukoissa, joissa sinun täytyy käsitellä tai muokata elementtejä niiden sijainnin perusteella.

Esimerkiksi tämä for-silmukka käsittelee jokaisen elementin indeksin ja arvon grocery_list-listassa:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Esimerkkisovellus

Jotta voimme soveltaa alennusta hintalistaan, meidän on muokattava listan elementtejä suoraan. Yksinkertaisen silmukan käyttäminen kuten for cost in prices: antaisi meille vain kopion kustakin tuotteesta, ei viittausta varsinaiseen listan tuotteeseen. Tällä tavalla tehdyt muutokset eivät vaikuttaisi alkuperäiseen listaan.

Varmistaaksemme, että päivitämme suoraan jokaisen elementin prices-listassa, käytämme range(len(prices)) iteroidaksemme indeksien yli. Tämä mahdollistaa alennuskertoimen soveltamisen jokaiseen elementtiin:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Huom

  • Kaava prices[cost] -= prices[cost] * discount_factor on sama kuin prices[cost] = prices[cost] - prices[cost] * discount_factor . Tämä vähentää osan alkuperäisestä hinnasta (määritetty alennuksella) itsestään, mikä käytännössä soveltaa alennuksen.

  • cost + 1 tulostuslausekkeessa säätää indeksin niin, että se näyttää alkavan 1 sijasta 0 , mikä tekee siitä käyttäjäystävällisemmän.

Tämä menetelmä varmistaa, että alkuperäinen lista prices päivitetään suoraan uusilla, alennetuilla hinnoilla, mikä heijastaa muutokset välittömästi kaikkialla ohjelmassa, missä prices-listaa käytetään.

Tehtävä

Swipe to start coding

Päivitä varastotasot yhdistämällä tiedot kahdesta listasta: stock_items ja shipment_received. Sitten tulos päivittää stock_items-listan.

  • Sekä stock_items että shipment_received ovat listoja, jotka sisältävät tuotteen nimen ja sen määrän.
  • Käytä for-silmukkaa range() ja len() kanssa iteroidaksesi stock_items-indeksien läpi.
  • Jokaiselle tuotteelle lisää lähetyksen määrä olemassa olevaan varastoon ja päivitä arvo stock_items-listassa.

Tulostusvaatimukset

  • Jokaiselle tuotteelle tulosta:
    Stock updated for <product_name>: <updated_quantity> units
  • Kaikkien päivitysten jälkeen tulosta:
    Final stock quantities:
    Stock Items: <stock_items>

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 5. Luku 4
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt