Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Range-funktio | Silmukat
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Johdatus Pythoniin

bookRange-funktio

Pythonin range()-funktio on sisäänrakennettu funktio, joka luo numerosarjan.

Sitä käytetään usein silmukoissa, erityisesti silloin kun silmukka täytyy suorittaa tietty määrä kertoja.

Tämä on ihanteellista tehtäviin, joissa toistuvuus on ennustettavaa, kuten hyllyjen täydennys tai myyntien aikataulutus ruokakaupassa.

Tarkastellaan, kuinka Alex hyödyntää range()-funktiota hoitaakseen rutiinitehtäviä ruokakaupassamme tehokkaasti:

Syntaksi ja argumentit

range()-funktio voi ottaa enintään kolme argumenttia, mikä tekee siitä monipuolisen erilaisiin silmukkatilanteisiin.

Tässä on range-funktion yleinen syntaksi:

range(start, stop, step)
  • start: tämä on sarjan ensimmäinen numero. Se on valinnainen, ja jos sitä ei määritetä, sarja alkaa arvosta 0.
  • stop: tämä on sarjan viimeinen numero, mutta sarja päättyy juuri ennen tätä arvoa. Tämä argumentti on pakollinen.
  • step: tämä on lisäys (tai vähennys) jokaisen numeron välillä sarjassa. Se on valinnainen, ja jos sitä ei määritetä, sarja kasvaa arvolla 1 jokaisella askeleella.

Nyt kun tunnet range()-funktion syntaksin, tarkastellaan esimerkkejä siitä, miten kukin argumentti — start, stop ja step — vaikuttaa silmukoiden toimintaan.

Yksi argumentti

Kun range()-funktiolle annetaan yksi argumentti, sitä käsitellään stop-parametrina.

Esimerkissämme se luo sarjan, jossa on 7 alkiota alkaen arvosta 0 ja päättyen arvoon 6. Silmukka iteroi näiden alkioiden yli, edustaen kaupan ensimmäisiä 7 aukiolopäivää.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy

Huom

Jono alkaa arvosta 0 ja päättyy arvoon 6. Tämä johtuu siitä, että Pythonissa laskeminen alkaa usein arvosta 0, mikä vähentää tarvetta säätää indeksointia monissa tilanteissa.

Kaksi argumenttia

Kun annetaan kaksi argumenttia, kuten 25 (start) ja 32 (stop), range() tuottaa jonon arvosta 25 arvoon 31 (koska stop-arvo ei sisälly jonomuotoon).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy

Huom

Tällä indeksointitavalla, jossa loppuelementti jätetään pois, voit helposti laskea jonon alkioiden määrän vähentämällä start-argumentin stop-argumentista. Esimerkiksi 32 - 25 = 7, mikä tarkoittaa, että jaksossa on 7 alkiota.

Kolme argumenttia

Lisäämällä kolmannen argumentin range()-funktioon, otetaan käyttöön step-arvo, joka määrittää välin jokaisen luvun välillä jaksossa.

Tässä esimerkissä range() saa arvot 1 (start), 13 (stop) ja 3 (step), jolloin tuloksena ovat luvut 1, 4, 7, 10. Nämä voivat kuvata työntekijöiden vuorojen alkamisaikoja 12 tunnin työpäivän aikana.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Esimerkkisovellus

range()-funktion avulla voidaan aikatauluttaa tehtäviä jokaiselle viikonpäivälle varmistaen, että kaikki myymälän osastot tulevat katetuiksi.

Tämä silmukka suoritetaan 7 kertaa, koska range(7) tuottaa luvut 06 (yhteensä 7 alkiota). Jokaisella kierroksella muuttuja day saa arvon väliltä 06, jota käytetään sekä weekly_tasks- että weekdays-listojen alkioiden hakemiseen.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Tehtävä

Swipe to start coding

Käytä kahta listaaweekdays ja daily_promotions — tulostaaksesi kullekin viikonpäivälle määritetyn kampanjan.

  • Käytä for-silmukkaa yhdessä range()-funktion kanssa käydäksesi läpi listojen indeksit.
  • Jokaisella iteraatiolla:
    • Hae nykyinen weekday weekdays-listasta.
    • Hae vastaava kampanja daily_promotions-listasta samalla indeksillä.
  • Tulosta molemmat arvot määritetyssä muodossa.

Tulostusvaatimukset

  • Jokaiselle päivälle tulosta:
    <weekday>: Promotion on <promotion>

Huom

Varmista, että molemmissa listoissa on sama määrä alkioita, jotta vältät indeksointivirheet.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 3
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 more about how the step argument works in range()?

What happens if I use a negative step value in range()?

Can you give more real-life examples of using range() in a grocery store?

close

bookRange-funktio

Pyyhkäise näyttääksesi valikon

Pythonin range()-funktio on sisäänrakennettu funktio, joka luo numerosarjan.

Sitä käytetään usein silmukoissa, erityisesti silloin kun silmukka täytyy suorittaa tietty määrä kertoja.

Tämä on ihanteellista tehtäviin, joissa toistuvuus on ennustettavaa, kuten hyllyjen täydennys tai myyntien aikataulutus ruokakaupassa.

Tarkastellaan, kuinka Alex hyödyntää range()-funktiota hoitaakseen rutiinitehtäviä ruokakaupassamme tehokkaasti:

Syntaksi ja argumentit

range()-funktio voi ottaa enintään kolme argumenttia, mikä tekee siitä monipuolisen erilaisiin silmukkatilanteisiin.

Tässä on range-funktion yleinen syntaksi:

range(start, stop, step)
  • start: tämä on sarjan ensimmäinen numero. Se on valinnainen, ja jos sitä ei määritetä, sarja alkaa arvosta 0.
  • stop: tämä on sarjan viimeinen numero, mutta sarja päättyy juuri ennen tätä arvoa. Tämä argumentti on pakollinen.
  • step: tämä on lisäys (tai vähennys) jokaisen numeron välillä sarjassa. Se on valinnainen, ja jos sitä ei määritetä, sarja kasvaa arvolla 1 jokaisella askeleella.

Nyt kun tunnet range()-funktion syntaksin, tarkastellaan esimerkkejä siitä, miten kukin argumentti — start, stop ja step — vaikuttaa silmukoiden toimintaan.

Yksi argumentti

Kun range()-funktiolle annetaan yksi argumentti, sitä käsitellään stop-parametrina.

Esimerkissämme se luo sarjan, jossa on 7 alkiota alkaen arvosta 0 ja päättyen arvoon 6. Silmukka iteroi näiden alkioiden yli, edustaen kaupan ensimmäisiä 7 aukiolopäivää.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy

Huom

Jono alkaa arvosta 0 ja päättyy arvoon 6. Tämä johtuu siitä, että Pythonissa laskeminen alkaa usein arvosta 0, mikä vähentää tarvetta säätää indeksointia monissa tilanteissa.

Kaksi argumenttia

Kun annetaan kaksi argumenttia, kuten 25 (start) ja 32 (stop), range() tuottaa jonon arvosta 25 arvoon 31 (koska stop-arvo ei sisälly jonomuotoon).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy

Huom

Tällä indeksointitavalla, jossa loppuelementti jätetään pois, voit helposti laskea jonon alkioiden määrän vähentämällä start-argumentin stop-argumentista. Esimerkiksi 32 - 25 = 7, mikä tarkoittaa, että jaksossa on 7 alkiota.

Kolme argumenttia

Lisäämällä kolmannen argumentin range()-funktioon, otetaan käyttöön step-arvo, joka määrittää välin jokaisen luvun välillä jaksossa.

Tässä esimerkissä range() saa arvot 1 (start), 13 (stop) ja 3 (step), jolloin tuloksena ovat luvut 1, 4, 7, 10. Nämä voivat kuvata työntekijöiden vuorojen alkamisaikoja 12 tunnin työpäivän aikana.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Esimerkkisovellus

range()-funktion avulla voidaan aikatauluttaa tehtäviä jokaiselle viikonpäivälle varmistaen, että kaikki myymälän osastot tulevat katetuiksi.

Tämä silmukka suoritetaan 7 kertaa, koska range(7) tuottaa luvut 06 (yhteensä 7 alkiota). Jokaisella kierroksella muuttuja day saa arvon väliltä 06, jota käytetään sekä weekly_tasks- että weekdays-listojen alkioiden hakemiseen.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Tehtävä

Swipe to start coding

Käytä kahta listaaweekdays ja daily_promotions — tulostaaksesi kullekin viikonpäivälle määritetyn kampanjan.

  • Käytä for-silmukkaa yhdessä range()-funktion kanssa käydäksesi läpi listojen indeksit.
  • Jokaisella iteraatiolla:
    • Hae nykyinen weekday weekdays-listasta.
    • Hae vastaava kampanja daily_promotions-listasta samalla indeksillä.
  • Tulosta molemmat arvot määritetyssä muodossa.

Tulostusvaatimukset

  • Jokaiselle päivälle tulosta:
    <weekday>: Promotion on <promotion>

Huom

Varmista, että molemmissa listoissa on sama määrä alkioita, jotta vältät indeksointivirheet.

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 3
single

single

some-alt