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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Introduksjon til Python

bookRange-Funksjonen

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

Den brukes ofte for å iterere over en sekvens med løkker, spesielt når det er nødvendig å 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.

Her ser vi 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:

range(start, stop, step)
  • start: dette er det første tallet i sekvensen. Dette er valgfritt, og hvis det ikke oppgis, starter sekvensen på 0.
  • stop: dette er det siste tallet i sekvensen, men sekvensen stopper rett før dette tallet. Dette argumentet er påkrevd.
  • step: dette er mengden som legges til (eller trekkes fra) mellom hvert tall i sekvensen. Dette er valgfritt, og hvis det ikke oppgis, øker sekvensen med 1 hver gang.

Nå som du har forstått syntaksen til range()-funksjonen, kan vi se på noen eksempler for å vise 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 på 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 til range(), introduseres en step-verdi, som definerer økningen mellom hvert tall i sekvensen.

I dette eksemplet tar range() verdiene 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 dekkes.

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

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 3
single

single

Spør AI

expand

Spør AI

ChatGPT

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

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

Sveip for å vise menyen

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

Den brukes ofte for å iterere over en sekvens med løkker, spesielt når det er nødvendig å 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.

Her ser vi 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:

range(start, stop, step)
  • start: dette er det første tallet i sekvensen. Dette er valgfritt, og hvis det ikke oppgis, starter sekvensen på 0.
  • stop: dette er det siste tallet i sekvensen, men sekvensen stopper rett før dette tallet. Dette argumentet er påkrevd.
  • step: dette er mengden som legges til (eller trekkes fra) mellom hvert tall i sekvensen. Dette er valgfritt, og hvis det ikke oppgis, øker sekvensen med 1 hver gang.

Nå som du har forstått syntaksen til range()-funksjonen, kan vi se på noen eksempler for å vise 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 på 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 til range(), introduseres en step-verdi, som definerer økningen mellom hvert tall i sekvensen.

I dette eksemplet tar range() verdiene 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 dekkes.

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

single

some-alt