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
Visat
Challenges
/
Johdatus Pythoniin

bookRange-funktio

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

Sitä käytetään usein silmukoissa, kun halutaan toistaa silmukka tietyn määrän kertoja.

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

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

Syntaksi ja argumentit

range()-funktiolla voit luoda numerosarjan silmukointia varten. Sitä voi käyttää jopa kolmella argumentilla:

range(start, stop, step)
  • start: luku, josta sarja alkaa; oletuksena 0, jos jätetään pois;
  • stop: luku, johon sarja päättyy, mutta tätä lukua ei sisällytetä;
  • step: kuinka paljon lisätään (tai vähennetään) joka kerta; oletuksena 1, jos jätetään pois.

Voit käyttää yhtä, kahta tai kaikkia kolmea argumenttia määrittääksesi, miten silmukka laskee.

Yksi argumentti

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

Esimerkissämme se luo 7 alkion sarjan alkaen 0 ja päättyen 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
Note
Huomio

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
Note
Huomio

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 muodostuvat luvut 1, 4, 7, 10. Nämä voivat kuvata työntekijöiden vuorojen aloitustunteja 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

Voit käyttää range()-funktiota käydäksesi läpi viikon jokaisen päivän ja määrittääksesi tehtävän kyseiselle päivälle. Tämä auttaa sinua järjestämään, mitä ruokakaupassa tulee tehdä koko viikon ajan.

12345678910111213141516171819
# List of simple daily tasks for a week tasks = [ "Fruits", "Dairy", "Meat", "Veggies", "Bakery", "Displays", "Sales Report" ] # List of weekdays for each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Print the task for each weekday for day in range(7): print(f"{weekdays[day]}: {tasks[day]}")
copy

Yllä olevassa koodissa range()-funktio tuottaa luvut 0–6, jolloin silmukka voi hakea jokaisen viikonpäivän ja siihen liittyvän tehtävän indeksin avulla. Tämä helpottaa päivittäisten tehtävien järjestämistä ruokakaupassa.

Tehtävä

Swipe to start coding

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

  • Käytä for-silmukkaa yhdessä range()-funktion kanssa listan indeksien läpikäymiseen.
  • Jokaisella iteraatiolla:
    • Hae nykyinen weekday weekdays-listasta.
    • Hae vastaava tarjous daily_promotions-listasta samalla indeksillä.
  • Tulosta molemmat arvot määritetyssä muodossa.

Tulostusvaatimukset

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

Varmista, että molemmissa listoissa on sama määrä alkioita, jotta indeksointivirheiltä vältytään.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

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, kun halutaan toistaa silmukka tietyn määrän kertoja.

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

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

Syntaksi ja argumentit

range()-funktiolla voit luoda numerosarjan silmukointia varten. Sitä voi käyttää jopa kolmella argumentilla:

range(start, stop, step)
  • start: luku, josta sarja alkaa; oletuksena 0, jos jätetään pois;
  • stop: luku, johon sarja päättyy, mutta tätä lukua ei sisällytetä;
  • step: kuinka paljon lisätään (tai vähennetään) joka kerta; oletuksena 1, jos jätetään pois.

Voit käyttää yhtä, kahta tai kaikkia kolmea argumenttia määrittääksesi, miten silmukka laskee.

Yksi argumentti

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

Esimerkissämme se luo 7 alkion sarjan alkaen 0 ja päättyen 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
Note
Huomio

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
Note
Huomio

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 muodostuvat luvut 1, 4, 7, 10. Nämä voivat kuvata työntekijöiden vuorojen aloitustunteja 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

Voit käyttää range()-funktiota käydäksesi läpi viikon jokaisen päivän ja määrittääksesi tehtävän kyseiselle päivälle. Tämä auttaa sinua järjestämään, mitä ruokakaupassa tulee tehdä koko viikon ajan.

12345678910111213141516171819
# List of simple daily tasks for a week tasks = [ "Fruits", "Dairy", "Meat", "Veggies", "Bakery", "Displays", "Sales Report" ] # List of weekdays for each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Print the task for each weekday for day in range(7): print(f"{weekdays[day]}: {tasks[day]}")
copy

Yllä olevassa koodissa range()-funktio tuottaa luvut 0–6, jolloin silmukka voi hakea jokaisen viikonpäivän ja siihen liittyvän tehtävän indeksin avulla. Tämä helpottaa päivittäisten tehtävien järjestämistä ruokakaupassa.

Tehtävä

Swipe to start coding

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

  • Käytä for-silmukkaa yhdessä range()-funktion kanssa listan indeksien läpikäymiseen.
  • Jokaisella iteraatiolla:
    • Hae nykyinen weekday weekdays-listasta.
    • Hae vastaava tarjous daily_promotions-listasta samalla indeksillä.
  • Tulosta molemmat arvot määritetyssä muodossa.

Tulostusvaatimukset

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

Varmista, että molemmissa listoissa on sama määrä alkioita, jotta indeksointivirheiltä vältytään.

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

single

some-alt