Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Range-funktion | Løkker
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 det er nødvendigt at udføre en løkke et bestemt antal gange.

Dette er ideelt til opgaver, der involverer et forudsigeligt gentagelsesmønster, såsom genopfyldning af hylder eller planlægning af udsalg i et supermarked.

Lad os se, hvordan Alex anvender range()-funktionen til effektiv håndtering af rutineopgaver i vores supermarkedsscenarie:

Syntaks og argumenter

Funktionen range() kan tage op til tre argumenter, hvilket gør den alsidig til forskellige løkkescenarier.

Her er den generelle syntaks for range-funktionen:

python
  • start: dette er det første tal i sekvensen. Det er valgfrit, og hvis det ikke angives, starter sekvensen ved 0.

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

  • step: dette er det beløb, du lægger til (eller trækker fra) mellem hvert tal i sekvensen. Det er valgfrit, og hvis det ikke angives, øges sekvensen med 1 hver gang.

Nu hvor du har forstået syntaksen for range()-funktionen, kan vi udforske nogle eksempler for at se, hvordan hvert argument — start, stop og step — påvirker løkkers opførsel.

Et enkelt argument

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

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

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ælling fra 0, hvilket mindsker behovet for at justere indeksering i mange situationer.

To argumenter

Når der angives to argumenter, såsom 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (da stop-værdien udelades 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 slut-elementet 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(), introduceres en step-værdi, som definerer intervallet mellem hvert tal i sekvensen.

I dette eksempel tager range() 1 (start), 13 (stop) og 3 (step), hvilket giver tallene 1, 4, 7, 10. Disse kan repræsentere starttidspunkterne for medarbejdernes vagter 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

Eksempel på anvendelse

Med range()-funktionen kan vi planlægge opgaver for hver ugedag for at sikre, at alle afdelinger i 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 iteration får variablen day en værdi fra 0 til 6, som derefter bruges til at tilgå 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 kampagne, der er tildelt hver ugedag.

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

Outputkrav

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

Bemærk

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

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 det er nødvendigt at udføre en løkke et bestemt antal gange.

Dette er ideelt til opgaver, der involverer et forudsigeligt gentagelsesmønster, såsom genopfyldning af hylder eller planlægning af udsalg i et supermarked.

Lad os se, hvordan Alex anvender range()-funktionen til effektiv håndtering af rutineopgaver i vores supermarkedsscenarie:

Syntaks og argumenter

Funktionen range() kan tage op til tre argumenter, hvilket gør den alsidig til forskellige løkkescenarier.

Her er den generelle syntaks for range-funktionen:

python
  • start: dette er det første tal i sekvensen. Det er valgfrit, og hvis det ikke angives, starter sekvensen ved 0.

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

  • step: dette er det beløb, du lægger til (eller trækker fra) mellem hvert tal i sekvensen. Det er valgfrit, og hvis det ikke angives, øges sekvensen med 1 hver gang.

Nu hvor du har forstået syntaksen for range()-funktionen, kan vi udforske nogle eksempler for at se, hvordan hvert argument — start, stop og step — påvirker løkkers opførsel.

Et enkelt argument

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

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

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ælling fra 0, hvilket mindsker behovet for at justere indeksering i mange situationer.

To argumenter

Når der angives to argumenter, såsom 25 (start) og 32 (stop), genererer range() en sekvens fra 25 til 31 (da stop-værdien udelades 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 slut-elementet 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(), introduceres en step-værdi, som definerer intervallet mellem hvert tal i sekvensen.

I dette eksempel tager range() 1 (start), 13 (stop) og 3 (step), hvilket giver tallene 1, 4, 7, 10. Disse kan repræsentere starttidspunkterne for medarbejdernes vagter 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

Eksempel på anvendelse

Med range()-funktionen kan vi planlægge opgaver for hver ugedag for at sikre, at alle afdelinger i 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 iteration får variablen day en værdi fra 0 til 6, som derefter bruges til at tilgå 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 kampagne, der er tildelt hver ugedag.

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

Outputkrav

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

Bemærk

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

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