Iteraatio Indekseillä
Edellisessä tehtävässä annoit tietyn määrän alkioita range()-funktiolle. Mutta entä jos määrä täytyy määrittää dynaamisesti? Tässä kohtaa indeksien läpikäynti on olennainen tekniikka.
Indeksien läpikäynti on keskeinen tekniikka Pythonissa, jonka avulla voit päästä käsiksi ja muokata alkioita niiden sijainnin perusteella tietorakenteissa, kuten listoissa tai taulukoissa. Tämä on erityisen hyödyllistä tehtävissä, joissa tarvitaan tarkkaa hallintaa jokaiseen alkioon, esimerkiksi varastotilanteen päivittämisessä tai myyntitietojen hallinnassa ruokakaupassa.
Katso, kuinka Alex havainnollistaa, miten indeksien läpikäynti voi yksinkertaistaa toimintoja ruokakauppaesimerkissämme:
Indeksien läpikäynti on hyödyllistä, kun tarvitset sekä alkion indeksin että arvon listassa. Kun käytämme range()- ja len()-funktioita yhdessä, yhdistämme kaksi funktiota luodaksemme lukujonon, joka vastaa listan alkioiden indeksejä. Tämä menetelmä on erityisen hyödyllinen silmukoissa, joissa täytyy käsitellä tai muokata alkioita niiden sijainnin perusteella.
Esimerkiksi tämä for-silmukka käsittelee sekä indeksin että arvon jokaiselle grocery_list-listan alkiolle:
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
Esimerkkisovellus
Kun alennus halutaan soveltaa hintalistaan, täytyy listan alkioita muokata suoraan. Yksinkertainen silmukka, kuten for cost in prices:, antaa vain kopion jokaisesta alkiosta, ei viittausta alkuperäiseen listan alkioon. Tällä tavoin tehdyt muutokset eivät vaikuta alkuperäiseen listaan.
Jotta voimme päivittää jokaisen alkion suoraan prices-listassa, käytämme range(len(prices)) käydäksemme läpi indeksit. Näin voimme soveltaa alennuskertoimen jokaiseen alkioon:
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)
- Kaava
prices[cost] -= prices[cost] * discount_factoron sama kuinprices[cost] = prices[cost] - prices[cost] * discount_factor. Tämä vähentää alkuperäisestä hinnasta osan (alennuksen verran), jolloin alennus toteutuu; cost + 1tulostuksessa säätää indeksin alkamaan1:stä0:n sijaan, 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, jolloin muutokset näkyvät välittömästi kaikkialla ohjelmassa, missä prices-listaa käytetään.
Swipe to start coding
Alennus sijainnin mukaan
Päivitä prices-lista soveltamalla eri alennusprosentteja jokaiselle tuotteelle sen sijainnin perusteella listassa. Käytä indeksin läpikäyntiä varmistaaksesi, että päivität alkuperäistä prices-listaa suoraan.
-
Käytä for-silmukkaa yhdessä
range()- jalen()-funktioiden kanssa käydäksesi läpiprices-listan indeksit; -
Kullekin indeksille sovella seuraavat alennukset ja päivitä lista:
- Indeksi 0: 10 % alennus (kerro 0.9);
- Indeksi 1: 20 % alennus (kerro 0.8);
- Indeksi 2: 15 % alennus (kerro 0.85);
- Indeksi 3: 5 % alennus (kerro 0.95);
-
Jokaisen hinnan päivityksen jälkeen tulosta rivi:
Updated price for item {index}: ${updated_price:.2f}; -
Käytä
.2ftulostuksessa muotoillaksesi hinnat kahden desimaalin tarkkuudella (esimerkiksi5muuttuu muotoon5.00). -
Sinun tulee päivittää
prices-lista suoraan, älä pelkästään tulosta alennettuja arvoja.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 1.89
Iteraatio Indekseillä
Pyyhkäise näyttääksesi valikon
Edellisessä tehtävässä annoit tietyn määrän alkioita range()-funktiolle. Mutta entä jos määrä täytyy määrittää dynaamisesti? Tässä kohtaa indeksien läpikäynti on olennainen tekniikka.
Indeksien läpikäynti on keskeinen tekniikka Pythonissa, jonka avulla voit päästä käsiksi ja muokata alkioita niiden sijainnin perusteella tietorakenteissa, kuten listoissa tai taulukoissa. Tämä on erityisen hyödyllistä tehtävissä, joissa tarvitaan tarkkaa hallintaa jokaiseen alkioon, esimerkiksi varastotilanteen päivittämisessä tai myyntitietojen hallinnassa ruokakaupassa.
Katso, kuinka Alex havainnollistaa, miten indeksien läpikäynti voi yksinkertaistaa toimintoja ruokakauppaesimerkissämme:
Indeksien läpikäynti on hyödyllistä, kun tarvitset sekä alkion indeksin että arvon listassa. Kun käytämme range()- ja len()-funktioita yhdessä, yhdistämme kaksi funktiota luodaksemme lukujonon, joka vastaa listan alkioiden indeksejä. Tämä menetelmä on erityisen hyödyllinen silmukoissa, joissa täytyy käsitellä tai muokata alkioita niiden sijainnin perusteella.
Esimerkiksi tämä for-silmukka käsittelee sekä indeksin että arvon jokaiselle grocery_list-listan alkiolle:
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
Esimerkkisovellus
Kun alennus halutaan soveltaa hintalistaan, täytyy listan alkioita muokata suoraan. Yksinkertainen silmukka, kuten for cost in prices:, antaa vain kopion jokaisesta alkiosta, ei viittausta alkuperäiseen listan alkioon. Tällä tavoin tehdyt muutokset eivät vaikuta alkuperäiseen listaan.
Jotta voimme päivittää jokaisen alkion suoraan prices-listassa, käytämme range(len(prices)) käydäksemme läpi indeksit. Näin voimme soveltaa alennuskertoimen jokaiseen alkioon:
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)
- Kaava
prices[cost] -= prices[cost] * discount_factoron sama kuinprices[cost] = prices[cost] - prices[cost] * discount_factor. Tämä vähentää alkuperäisestä hinnasta osan (alennuksen verran), jolloin alennus toteutuu; cost + 1tulostuksessa säätää indeksin alkamaan1:stä0:n sijaan, 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, jolloin muutokset näkyvät välittömästi kaikkialla ohjelmassa, missä prices-listaa käytetään.
Swipe to start coding
Alennus sijainnin mukaan
Päivitä prices-lista soveltamalla eri alennusprosentteja jokaiselle tuotteelle sen sijainnin perusteella listassa. Käytä indeksin läpikäyntiä varmistaaksesi, että päivität alkuperäistä prices-listaa suoraan.
-
Käytä for-silmukkaa yhdessä
range()- jalen()-funktioiden kanssa käydäksesi läpiprices-listan indeksit; -
Kullekin indeksille sovella seuraavat alennukset ja päivitä lista:
- Indeksi 0: 10 % alennus (kerro 0.9);
- Indeksi 1: 20 % alennus (kerro 0.8);
- Indeksi 2: 15 % alennus (kerro 0.85);
- Indeksi 3: 5 % alennus (kerro 0.95);
-
Jokaisen hinnan päivityksen jälkeen tulosta rivi:
Updated price for item {index}: ${updated_price:.2f}; -
Käytä
.2ftulostuksessa muotoillaksesi hinnat kahden desimaalin tarkkuudella (esimerkiksi5muuttuu muotoon5.00). -
Sinun tulee päivittää
prices-lista suoraan, älä pelkästään tulosta alennettuja arvoja.
Ratkaisu
Kiitos palautteestasi!
single