Range-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 med1hver 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}.")
Merk
Sekvensen starter på
0og slutter på6. Dette skjer fordi Python ofte starter å telle fra0, 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}.")
Merk
Med denne metoden for indeksering, der siste element utelates, kan du enkelt beregne antall elementer i sekvensen ved å trekke
start-argumentet frastop-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}.")
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}")
Swipe to start coding
Bruk to lister — weekdays og daily_promotions — for å skrive ut kampanjen som er tildelt hver ukedag.
- Bruk en
for-løkke medrange()-funksjonen for å iterere gjennom listeindeksene. - I hver iterasjon:
- Hent gjeldende
weekdayfraweekdays-listen. - Hent tilsvarende kampanje fra
daily_promotionsved å bruke samme indeks.
- Hent gjeldende
- 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
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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?
Fantastisk!
Completion rate forbedret til 2.17
Range-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 med1hver 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}.")
Merk
Sekvensen starter på
0og slutter på6. Dette skjer fordi Python ofte starter å telle fra0, 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}.")
Merk
Med denne metoden for indeksering, der siste element utelates, kan du enkelt beregne antall elementer i sekvensen ved å trekke
start-argumentet frastop-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}.")
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}")
Swipe to start coding
Bruk to lister — weekdays og daily_promotions — for å skrive ut kampanjen som er tildelt hver ukedag.
- Bruk en
for-løkke medrange()-funksjonen for å iterere gjennom listeindeksene. - I hver iterasjon:
- Hent gjeldende
weekdayfraweekdays-listen. - Hent tilsvarende kampanje fra
daily_promotionsved å bruke samme indeks.
- Hent gjeldende
- 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
Takk for tilbakemeldingene dine!
single