Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Range-Funktion | Loopar
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Introduktion till Python

bookRange-Funktion

range()-funktionen i Python är en inbyggd funktion som genererar en sekvens av tal.

Den används ofta för att iterera över en sekvens med loopar, särskilt när det är nödvändigt att upprepa en loop ett specifikt antal gånger.

Detta är idealiskt för att hantera uppgifter som innebär ett förutsägbart repetitionsmönster, såsom påfyllning av hyllor eller schemaläggning av kampanjer i en livsmedelsbutik.

Här visas hur Alex använder range()-funktionen för att effektivt hantera rutinuppgifter i vårt butiksscenario:

Syntax och argument

range()-funktionen kan ta upp till tre argument, vilket gör den mångsidig för olika loop-scenarier.

Här är den allmänna syntaxen för range-funktionen:

range(start, stop, step)
  • start: detta är det första talet i sekvensen. Det är valfritt, och om det inte anges börjar sekvensen på 0.
  • stop: detta är det sista talet i sekvensen, men sekvensen avslutas precis före detta tal. Detta argument är obligatoriskt.
  • step: detta är hur mycket som adderas (eller subtraheras) mellan varje tal i sekvensen. Det är valfritt, och om det inte anges ökar sekvensen med 1 varje gång.

Nu när du har förstått syntaxen för range()-funktionen, låt oss titta på några exempel för att se hur varje argument — start, stop och step — påverkar looparnas beteende.

Ett enda argument

När range()-funktionen ges ett enda argument behandlas detta som stop-parametern.

I vårt exempel genererar den en sekvens av 7 element med start från 0 och slut vid 6. Loopen itererar över dessa element, vilket representerar de första 7 dagarna som butiken är öppen.

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

Observera

Sekvensen börjar på 0 och slutar på 6. Detta sker eftersom Python ofta börjar räkna från 0, vilket minskar behovet av att justera indexering i många situationer.

Två argument

När två argument anges, som 25 (start) och 32 (stop), genererar range() en sekvens från 25 till 31 (eftersom stop-värdet utesluts från 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

Observera

Med denna metod för indexering, där slutvärdet exkluderas, kan du enkelt beräkna antalet element i sekvensen genom att subtrahera argumentet start från argumentet stop. Till exempel, 32 - 25 = 7, vilket innebär att det finns 7 element i sekvensen.

Tre argument

Genom att lägga till ett tredje argument till range() introduceras ett step-värde, vilket definierar steglängden mellan varje tal i sekvensen.

I detta exempel tar range() emot 1 (start), 13 (stop) och 3 (step), vilket ger talen 1, 4, 7, 10. Dessa kan representera starttider för personalens arbetspass under en 12-timmars arbetsdag.

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

Exempel på tillämpning

Med funktionen range() kan vi schemalägga uppgifter för varje veckodag för att säkerställa att alla avdelningar i butiken täcks.

Denna loop körs 7 gånger eftersom range(7) skapar tal från 0 till 6 (totalt 7 element). Vid varje iteration får variabeln day ett värde från 0 till 6, vilket sedan används för att komma åt element från både listorna weekly_tasks och weekdays.

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
Uppgift

Swipe to start coding

Använd två listorweekdays och daily_promotions — för att skriva ut den kampanj som tilldelats varje veckodag.

  • Använd en for-loop med funktionen range() för att iterera genom listornas index.
  • Vid varje iteration:
    • Hämta aktuell weekday från listan weekdays.
    • Hämta motsvarande kampanj från daily_promotions med samma index.
  • Skriv ut båda värdena i det angivna formatet.

Utskriftskrav

  • För varje dag, skriv ut:
    <weekday>: Promotion on <promotion>

Observera

Säkerställ att båda listorna har samma antal element för att undvika indexfel.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 3
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

Svep för att visa menyn

range()-funktionen i Python är en inbyggd funktion som genererar en sekvens av tal.

Den används ofta för att iterera över en sekvens med loopar, särskilt när det är nödvändigt att upprepa en loop ett specifikt antal gånger.

Detta är idealiskt för att hantera uppgifter som innebär ett förutsägbart repetitionsmönster, såsom påfyllning av hyllor eller schemaläggning av kampanjer i en livsmedelsbutik.

Här visas hur Alex använder range()-funktionen för att effektivt hantera rutinuppgifter i vårt butiksscenario:

Syntax och argument

range()-funktionen kan ta upp till tre argument, vilket gör den mångsidig för olika loop-scenarier.

Här är den allmänna syntaxen för range-funktionen:

range(start, stop, step)
  • start: detta är det första talet i sekvensen. Det är valfritt, och om det inte anges börjar sekvensen på 0.
  • stop: detta är det sista talet i sekvensen, men sekvensen avslutas precis före detta tal. Detta argument är obligatoriskt.
  • step: detta är hur mycket som adderas (eller subtraheras) mellan varje tal i sekvensen. Det är valfritt, och om det inte anges ökar sekvensen med 1 varje gång.

Nu när du har förstått syntaxen för range()-funktionen, låt oss titta på några exempel för att se hur varje argument — start, stop och step — påverkar looparnas beteende.

Ett enda argument

När range()-funktionen ges ett enda argument behandlas detta som stop-parametern.

I vårt exempel genererar den en sekvens av 7 element med start från 0 och slut vid 6. Loopen itererar över dessa element, vilket representerar de första 7 dagarna som butiken är öppen.

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

Observera

Sekvensen börjar på 0 och slutar på 6. Detta sker eftersom Python ofta börjar räkna från 0, vilket minskar behovet av att justera indexering i många situationer.

Två argument

När två argument anges, som 25 (start) och 32 (stop), genererar range() en sekvens från 25 till 31 (eftersom stop-värdet utesluts från 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

Observera

Med denna metod för indexering, där slutvärdet exkluderas, kan du enkelt beräkna antalet element i sekvensen genom att subtrahera argumentet start från argumentet stop. Till exempel, 32 - 25 = 7, vilket innebär att det finns 7 element i sekvensen.

Tre argument

Genom att lägga till ett tredje argument till range() introduceras ett step-värde, vilket definierar steglängden mellan varje tal i sekvensen.

I detta exempel tar range() emot 1 (start), 13 (stop) och 3 (step), vilket ger talen 1, 4, 7, 10. Dessa kan representera starttider för personalens arbetspass under en 12-timmars arbetsdag.

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

Exempel på tillämpning

Med funktionen range() kan vi schemalägga uppgifter för varje veckodag för att säkerställa att alla avdelningar i butiken täcks.

Denna loop körs 7 gånger eftersom range(7) skapar tal från 0 till 6 (totalt 7 element). Vid varje iteration får variabeln day ett värde från 0 till 6, vilket sedan används för att komma åt element från både listorna weekly_tasks och weekdays.

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
Uppgift

Swipe to start coding

Använd två listorweekdays och daily_promotions — för att skriva ut den kampanj som tilldelats varje veckodag.

  • Använd en for-loop med funktionen range() för att iterera genom listornas index.
  • Vid varje iteration:
    • Hämta aktuell weekday från listan weekdays.
    • Hämta motsvarande kampanj från daily_promotions med samma index.
  • Skriv ut båda värdena i det angivna formatet.

Utskriftskrav

  • För varje dag, skriv ut:
    <weekday>: Promotion on <promotion>

Observera

Säkerställ att båda listorna har samma antal element för att undvika indexfel.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 3
single

single

some-alt