Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Range-Funksjon | Løkker
Introduksjon til Python

Sveip for å vise menyen

book
Range-Funksjon

Funksjonen range() i Python er en innebygd funksjon som genererer en sekvens av tall.

Den brukes ofte til å iterere over en sekvens med løkker, spesielt når du trenger å utføre en løkke et bestemt antall ganger.

Dette er ideelt for å håndtere oppgaver som involverer et forutsigbart repetisjonsmønster, som å fylle opp hyller eller planlegge salg i en dagligvarebutikk.

La oss se hvordan Alex bruker range()-funksjonen for å håndtere rutineoppgaver i vår dagligvarebutikk-scenario effektivt:

Syntaks og Argumenter

range()-funksjonen kan ta opptil tre argumenter, noe som gjør den allsidig for ulike løkkescenarier.

Her er den generelle syntaksen for range-funksjonen:

python
  • start : dette er det første tallet i sekvensen. Det er valgfritt , og hvis du ikke inkluderer det, vil sekvensen starte på 0 .

  • stop : dette er det siste tallet i sekvensen, men sekvensen vil stoppe rett før dette tallet . Dette argumentet er påkrevd .

  • step : dette er mengden du legger til (eller trekker fra) mellom hvert tall i sekvensen. Det er valgfritt , og hvis du ikke inkluderer det, vil sekvensen øke med 1 hver gang.

Nå som du har en forståelse av range()-funksjonens syntaks, la oss utforske noen eksempler for å se hvordan hvert argument — start, stop og step — påvirker oppførselen til løkker.

Et Enkelt Argument

Når range()-funksjonen gis et enkelt argument, behandler den dette som stop-parameteren.

I vårt eksempel genererer den en sekvens av 7 elementer som starter fra 0 og slutter på 6. Løkken itererer over disse elementene, som representerer de første 7 dagene butikken er åpen.

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

Merk

Sekvensen starter på 0 og slutter på 6. Dette skjer fordi Python ofte starter tellingen fra 0, noe som reduserer behovet for å justere indeksering i mange situasjoner.

To Argumenter

Når to argumenter er gitt, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (siden stop-verdien er ekskludert fra sekvensen).

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

Merk

Med denne metoden for indeksering, hvor det siste elementet er ekskludert, kan du enkelt beregne antall elementer i sekvensen ved å trekke start-argumentet fra stopp-argumentet. For eksempel, 32 - 25 = 7, som betyr at det er 7 elementer i sekvensen.

Tre Argumenter

Ved å legge til et tredje argument til range(), introduserer du en step-verdi, som definerer inkrementet mellom hvert tall i sekvensen.

I dette eksempelet tar range() 1 (start), 13 (stop), og 3 (step), og produserer tallene 1, 4, 7, 10. Disse kan representere starttidene for personalets skift i løpet av en 12-timers arbeidsdag.

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

Eksempelapplikasjon

Med range()-funksjonen kan vi planlegge oppgaver for hver dag i uken for å sikre at alle avdelinger i butikken er dekket.

Denne løkken kjører 7 ganger fordi range(7) lager tall fra 0 til 6 (totalt 7 elementer). I hver løkke tar variabelen day en verdi fra 0 til 6, som deretter brukes til å få tilgang til elementer fra både weekly_tasks og weekdays-listene.

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
Oppgave

Swipe to start coding

Bruk to listerweekdays og daily_promotions — for å skrive ut kampanjen tildelt hver dag i uken.

  • Bruk en for-løkke med range()-funksjonen for å iterere gjennom listeindeksene.
  • I hver iterasjon:
    • Hent den nåværende weekday fra weekdays-listen.
    • Hent den tilsvarende kampanjen fra daily_promotions ved å bruke samme indeks.
  • Skriv ut begge verdiene i det spesifiserte formatet.

Utgangskrav

  • For hver dag, skriv ut:
    <weekday>: Kampanje på <promotion>

Merk

Sørg for at begge listene har samme antall elementer for å unngå indekseringsfeil.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 3

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

book
Range-Funksjon

Funksjonen range() i Python er en innebygd funksjon som genererer en sekvens av tall.

Den brukes ofte til å iterere over en sekvens med løkker, spesielt når du trenger å utføre en løkke et bestemt antall ganger.

Dette er ideelt for å håndtere oppgaver som involverer et forutsigbart repetisjonsmønster, som å fylle opp hyller eller planlegge salg i en dagligvarebutikk.

La oss se hvordan Alex bruker range()-funksjonen for å håndtere rutineoppgaver i vår dagligvarebutikk-scenario effektivt:

Syntaks og Argumenter

range()-funksjonen kan ta opptil tre argumenter, noe som gjør den allsidig for ulike løkkescenarier.

Her er den generelle syntaksen for range-funksjonen:

python
  • start : dette er det første tallet i sekvensen. Det er valgfritt , og hvis du ikke inkluderer det, vil sekvensen starte på 0 .

  • stop : dette er det siste tallet i sekvensen, men sekvensen vil stoppe rett før dette tallet . Dette argumentet er påkrevd .

  • step : dette er mengden du legger til (eller trekker fra) mellom hvert tall i sekvensen. Det er valgfritt , og hvis du ikke inkluderer det, vil sekvensen øke med 1 hver gang.

Nå som du har en forståelse av range()-funksjonens syntaks, la oss utforske noen eksempler for å se hvordan hvert argument — start, stop og step — påvirker oppførselen til løkker.

Et Enkelt Argument

Når range()-funksjonen gis et enkelt argument, behandler den dette som stop-parameteren.

I vårt eksempel genererer den en sekvens av 7 elementer som starter fra 0 og slutter på 6. Løkken itererer over disse elementene, som representerer de første 7 dagene butikken er åpen.

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

Merk

Sekvensen starter på 0 og slutter på 6. Dette skjer fordi Python ofte starter tellingen fra 0, noe som reduserer behovet for å justere indeksering i mange situasjoner.

To Argumenter

Når to argumenter er gitt, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (siden stop-verdien er ekskludert fra sekvensen).

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

Merk

Med denne metoden for indeksering, hvor det siste elementet er ekskludert, kan du enkelt beregne antall elementer i sekvensen ved å trekke start-argumentet fra stopp-argumentet. For eksempel, 32 - 25 = 7, som betyr at det er 7 elementer i sekvensen.

Tre Argumenter

Ved å legge til et tredje argument til range(), introduserer du en step-verdi, som definerer inkrementet mellom hvert tall i sekvensen.

I dette eksempelet tar range() 1 (start), 13 (stop), og 3 (step), og produserer tallene 1, 4, 7, 10. Disse kan representere starttidene for personalets skift i løpet av en 12-timers arbeidsdag.

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

Eksempelapplikasjon

Med range()-funksjonen kan vi planlegge oppgaver for hver dag i uken for å sikre at alle avdelinger i butikken er dekket.

Denne løkken kjører 7 ganger fordi range(7) lager tall fra 0 til 6 (totalt 7 elementer). I hver løkke tar variabelen day en verdi fra 0 til 6, som deretter brukes til å få tilgang til elementer fra både weekly_tasks og weekdays-listene.

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
Oppgave

Swipe to start coding

Bruk to listerweekdays og daily_promotions — for å skrive ut kampanjen tildelt hver dag i uken.

  • Bruk en for-løkke med range()-funksjonen for å iterere gjennom listeindeksene.
  • I hver iterasjon:
    • Hent den nåværende weekday fra weekdays-listen.
    • Hent den tilsvarende kampanjen fra daily_promotions ved å bruke samme indeks.
  • Skriv ut begge verdiene i det spesifiserte formatet.

Utgangskrav

  • For hver dag, skriv ut:
    <weekday>: Kampanje på <promotion>

Merk

Sørg for at begge listene har samme antall elementer for å unngå indekseringsfeil.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 3
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt