Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Range Funktion | Loops
Introduktion til Python

Stryg for at vise menuen

book
Range Funktion

Funktionen range() i Python er en indbygget funktion, der genererer en sekvens af tal.

Den bruges ofte til at iterere over en sekvens med løkker, især når du har brug for at udføre en løkke et specifikt antal gange.

Dette er ideelt til at håndtere opgaver, der involverer et forudsigeligt gentagelsesmønster, såsom at genopfylde hylder eller planlægge udsalg i en dagligvarebutik.

Lad os se, hvordan Alex bruger range()-funktionen til effektivt at håndtere rutineopgaver i vores dagligvarebutiksscenarie:

Syntaks og Argumenter

Funktionen range() kan tage op til tre argumenter, hvilket gør den alsidig til forskellige loop-scenarier.

Her er den generelle syntaks for range funktionen:

python
  • start : dette er det første tal i sekvensen. Det er valgfrit , og hvis du ikke inkluderer det, vil sekvensen starte ved 0 .

  • stop : dette er det sidste tal i sekvensen, men sekvensen vil stoppe lige før dette tal . Dette argument er påkrævet .

  • step : dette er den mængde du tilføjer (eller trækker fra) mellem hvert tal i sekvensen. Det er valgfrit , og hvis du ikke inkluderer det, vil sekvensen øges med 1 hver gang.

Nu hvor du har en forståelse af range() funktionens syntaks, lad os udforske nogle eksempler for at se, hvordan hvert argument — start, stop og step — påvirker loops' adfærd.

Et Enkelt Argument

Når range() funktionen får et enkelt argument, behandler den dette som stop parameteren.

I vores eksempel genererer den en sekvens af 7 elementer startende fra 0 og sluttende ved 6. Loopet itererer over disse elementer, hvilket repræsenterer de første 7 dage butikken er åben.

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

Bemærk

Sekvensen starter ved 0 og slutter ved 6. Dette sker, fordi Python ofte starter tællingen fra 0, hvilket reducerer behovet for at justere indeksering i mange situationer.

To Argumenter

Når to argumenter gives, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (da stop-værdien er udelukket 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

Bemærk

Med denne metode til indeksering, hvor det sidste element er udelukket, kan du nemt beregne antallet af elementer i sekvensen ved at trække start-argumentet fra stop-argumentet. For eksempel, 32 - 25 = 7, hvilket betyder, at der er 7 elementer i sekvensen.

Tre Argumenter

Ved at tilføje et tredje argument til range(), introducerer du en step-værdi, som definerer inkrementet mellem hvert tal i sekvensen.

I dette eksempel tager range() 1 (start), 13 (stop), og 3 (step), hvilket producerer tallene 1, 4, 7, 10. Disse kan repræsentere starttidspunkterne for medarbejderskift i løbet af en 12-timers arbejdsdag.

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

Eksempelapplikation

Med range()-funktionen kan vi planlægge opgaver for hver dag i ugen for at sikre, at alle sektioner af butikken er dækket.

Denne løkke kører 7 gange, fordi range(7) skaber tal fra 0 til 6 (i alt 7 elementer). I hver løkke tager variablen day en værdi fra 0 til 6, som derefter bruges til at få adgang til elementer fra både weekly_tasks og weekdays listerne.

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
Opgave

Swipe to start coding

Brug to listerweekdays og daily_promotions — til at udskrive den promotion, der er tildelt hver dag i ugen.

  • Brug en for-løkke med range()-funktionen til at iterere gennem listeindekserne.
  • I hver iteration:
    • Få den aktuelle weekday fra weekdays-listen.
    • Få den tilsvarende promotion fra daily_promotions ved hjælp af det samme indeks.
  • Udskriv begge værdier i det angivne format.

Outputkrav

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

Bemærk

Sørg for, at begge lister har det samme antal elementer for at undgå indekseringsfejl.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3
Vi beklager, at noget gik galt. Hvad skete der?

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

book
Range Funktion

Funktionen range() i Python er en indbygget funktion, der genererer en sekvens af tal.

Den bruges ofte til at iterere over en sekvens med løkker, især når du har brug for at udføre en løkke et specifikt antal gange.

Dette er ideelt til at håndtere opgaver, der involverer et forudsigeligt gentagelsesmønster, såsom at genopfylde hylder eller planlægge udsalg i en dagligvarebutik.

Lad os se, hvordan Alex bruger range()-funktionen til effektivt at håndtere rutineopgaver i vores dagligvarebutiksscenarie:

Syntaks og Argumenter

Funktionen range() kan tage op til tre argumenter, hvilket gør den alsidig til forskellige loop-scenarier.

Her er den generelle syntaks for range funktionen:

python
  • start : dette er det første tal i sekvensen. Det er valgfrit , og hvis du ikke inkluderer det, vil sekvensen starte ved 0 .

  • stop : dette er det sidste tal i sekvensen, men sekvensen vil stoppe lige før dette tal . Dette argument er påkrævet .

  • step : dette er den mængde du tilføjer (eller trækker fra) mellem hvert tal i sekvensen. Det er valgfrit , og hvis du ikke inkluderer det, vil sekvensen øges med 1 hver gang.

Nu hvor du har en forståelse af range() funktionens syntaks, lad os udforske nogle eksempler for at se, hvordan hvert argument — start, stop og step — påvirker loops' adfærd.

Et Enkelt Argument

Når range() funktionen får et enkelt argument, behandler den dette som stop parameteren.

I vores eksempel genererer den en sekvens af 7 elementer startende fra 0 og sluttende ved 6. Loopet itererer over disse elementer, hvilket repræsenterer de første 7 dage butikken er åben.

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

Bemærk

Sekvensen starter ved 0 og slutter ved 6. Dette sker, fordi Python ofte starter tællingen fra 0, hvilket reducerer behovet for at justere indeksering i mange situationer.

To Argumenter

Når to argumenter gives, som 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (da stop-værdien er udelukket 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

Bemærk

Med denne metode til indeksering, hvor det sidste element er udelukket, kan du nemt beregne antallet af elementer i sekvensen ved at trække start-argumentet fra stop-argumentet. For eksempel, 32 - 25 = 7, hvilket betyder, at der er 7 elementer i sekvensen.

Tre Argumenter

Ved at tilføje et tredje argument til range(), introducerer du en step-værdi, som definerer inkrementet mellem hvert tal i sekvensen.

I dette eksempel tager range() 1 (start), 13 (stop), og 3 (step), hvilket producerer tallene 1, 4, 7, 10. Disse kan repræsentere starttidspunkterne for medarbejderskift i løbet af en 12-timers arbejdsdag.

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

Eksempelapplikation

Med range()-funktionen kan vi planlægge opgaver for hver dag i ugen for at sikre, at alle sektioner af butikken er dækket.

Denne løkke kører 7 gange, fordi range(7) skaber tal fra 0 til 6 (i alt 7 elementer). I hver løkke tager variablen day en værdi fra 0 til 6, som derefter bruges til at få adgang til elementer fra både weekly_tasks og weekdays listerne.

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
Opgave

Swipe to start coding

Brug to listerweekdays og daily_promotions — til at udskrive den promotion, der er tildelt hver dag i ugen.

  • Brug en for-løkke med range()-funktionen til at iterere gennem listeindekserne.
  • I hver iteration:
    • Få den aktuelle weekday fra weekdays-listen.
    • Få den tilsvarende promotion fra daily_promotions ved hjælp af det samme indeks.
  • Udskriv begge værdier i det angivne format.

Outputkrav

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

Bemærk

Sørg for, at begge lister har det samme antal elementer for at undgå indekseringsfejl.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt