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

Sveip for å vise menyen

book
Range-Funksjonen

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 oppgaver som innebærer 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 effektivt i vårt dagligvarebutikk-scenario:

Syntaks og argumenter

Funksjonen range() 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, starter sekvensen 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 forstått syntaksen til range()-funksjonen, la oss utforske noen eksempler for å se hvordan hvert argument — start, stop og step — påvirker oppførselen til løkker.

Ett enkelt argument

Når funksjonen range() får ett enkelt argument, tolkes dette som stop-parameteren.

I vårt eksempel genererer den en sekvens med 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 å telle fra 0, noe som reduserer behovet for å justere indeksering i mange situasjoner.

To argumenter

Når to argumenter oppgis, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (siden stop-verdien utelates 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, der siste element utelates, kan du enkelt beregne antall elementer i sekvensen ved å trekke start-argumentet fra stop-argumentet. For eksempel, 32 - 25 = 7, noe som betyr at det er 7 elementer i sekvensen.

Tre argumenter

Ved å legge til et tredje argument i range(), introduserer du en step-verdi, som definerer økningen 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 starttidspunktene 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

Eksempel på bruk

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

Denne løkken kjøres 7 ganger fordi range(7) lager tall fra 0 til 6 (totalt 7 elementer). I hver iterasjon får variabelen day en verdi fra 0 til 6, som deretter brukes til å hente 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 som er tilordnet hver ukedag.

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

Krav til utdata

  • For hver dag, skriv ut:
    <weekday>: Promotion on <promotion>

Merk

Sørg for at begge listene har like mange elementer for å unngå indeksfeil.

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
Vi beklager at noe gikk galt. Hva skjedde?

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-Funksjonen

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 oppgaver som innebærer 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 effektivt i vårt dagligvarebutikk-scenario:

Syntaks og argumenter

Funksjonen range() 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, starter sekvensen 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 forstått syntaksen til range()-funksjonen, la oss utforske noen eksempler for å se hvordan hvert argument — start, stop og step — påvirker oppførselen til løkker.

Ett enkelt argument

Når funksjonen range() får ett enkelt argument, tolkes dette som stop-parameteren.

I vårt eksempel genererer den en sekvens med 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 å telle fra 0, noe som reduserer behovet for å justere indeksering i mange situasjoner.

To argumenter

Når to argumenter oppgis, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (siden stop-verdien utelates 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, der siste element utelates, kan du enkelt beregne antall elementer i sekvensen ved å trekke start-argumentet fra stop-argumentet. For eksempel, 32 - 25 = 7, noe som betyr at det er 7 elementer i sekvensen.

Tre argumenter

Ved å legge til et tredje argument i range(), introduserer du en step-verdi, som definerer økningen 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 starttidspunktene 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

Eksempel på bruk

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

Denne løkken kjøres 7 ganger fordi range(7) lager tall fra 0 til 6 (totalt 7 elementer). I hver iterasjon får variabelen day en verdi fra 0 til 6, som deretter brukes til å hente 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 som er tilordnet hver ukedag.

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

Krav til utdata

  • For hver dag, skriv ut:
    <weekday>: Promotion on <promotion>

Merk

Sørg for at begge listene har like mange elementer for å unngå indeksfeil.

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