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

Svep för att visa menyn

book
Range-Funktion

Funktionen range() i Python är en inbyggd funktion som genererar en sekvens av nummer.

Den används ofta för att iterera över en sekvens med loopar, särskilt när du behöver köra en loop ett specifikt antal gånger.

Detta är idealiskt för att hantera uppgifter som involverar ett förutsägbart repetitionsmönster, såsom att fylla på hyllor eller schemalägga försäljningar i en livsmedelsbutiksmiljö.

Låt oss se hur Alex använder range()-funktionen för att effektivt hantera rutinuppgifter i vårt livsmedelsbutiksscenario:

Syntax och Argument

Funktionen range() kan ta upp till tre argument, vilket gör den mångsidig för olika loopscenarier.

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

python
  • start : detta är det första numret i sekvensen. Det är valfritt , och om du inte inkluderar det, börjar sekvensen vid 0 .

  • stop : detta är det sista numret i sekvensen, men sekvensen kommer att stanna precis före detta nummer . Detta argument är obligatoriskt .

  • step : detta är mängden du lägger till (eller drar ifrån) mellan varje nummer i sekvensen. Det är valfritt , och om du inte inkluderar det, kommer sekvensen att öka med 1 varje gång.

Nu när du har en förståelse för range()-funktionens syntax, låt oss utforska några exempel för att se hur varje argument — start, stop och step — påverkar looparnas beteende.

Ett Enkelt Argument

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

I vårt exempel genererar den en sekvens av 7 element som börjar från 0 och slutar vid 6. Loopen itererar över dessa element, vilket representerar de första 7 dagarna 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

Notera

Sekvensen börjar vid 0 och slutar vid 6. Detta händer 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 tillhandahålls, 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

Notera

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

Tre Argument

Genom att lägga till ett tredje argument till range(), introducerar du ett step-värde, som definierar inkrementet mellan varje nummer i sekvensen.

I detta exempel tar range() 1 (start), 13 (stop), och 3 (step), vilket ger numren 1, 4, 7, 10. Dessa kan representera starttimmarna för personalens skift 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

Exempelapplikation

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

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

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 range()-funktionen för att iterera genom listindex.
  • Vid varje iteration:
    • Hämta den aktuella weekday från weekdays-listan.
    • Hämta motsvarande kampanj från daily_promotions med samma index.
  • Skriv ut båda värdena i det angivna formatet.

Utmatningskrav

  • För varje dag, skriv ut:
    <weekday>: Kampanj på <promotion>

Notera

Se till att båda listorna har samma antal objekt för att undvika indexeringsfel.

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

Fråga AI

expand
ChatGPT

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

book
Range-Funktion

Funktionen range() i Python är en inbyggd funktion som genererar en sekvens av nummer.

Den används ofta för att iterera över en sekvens med loopar, särskilt när du behöver köra en loop ett specifikt antal gånger.

Detta är idealiskt för att hantera uppgifter som involverar ett förutsägbart repetitionsmönster, såsom att fylla på hyllor eller schemalägga försäljningar i en livsmedelsbutiksmiljö.

Låt oss se hur Alex använder range()-funktionen för att effektivt hantera rutinuppgifter i vårt livsmedelsbutiksscenario:

Syntax och Argument

Funktionen range() kan ta upp till tre argument, vilket gör den mångsidig för olika loopscenarier.

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

python
  • start : detta är det första numret i sekvensen. Det är valfritt , och om du inte inkluderar det, börjar sekvensen vid 0 .

  • stop : detta är det sista numret i sekvensen, men sekvensen kommer att stanna precis före detta nummer . Detta argument är obligatoriskt .

  • step : detta är mängden du lägger till (eller drar ifrån) mellan varje nummer i sekvensen. Det är valfritt , och om du inte inkluderar det, kommer sekvensen att öka med 1 varje gång.

Nu när du har en förståelse för range()-funktionens syntax, låt oss utforska några exempel för att se hur varje argument — start, stop och step — påverkar looparnas beteende.

Ett Enkelt Argument

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

I vårt exempel genererar den en sekvens av 7 element som börjar från 0 och slutar vid 6. Loopen itererar över dessa element, vilket representerar de första 7 dagarna 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

Notera

Sekvensen börjar vid 0 och slutar vid 6. Detta händer 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 tillhandahålls, 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

Notera

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

Tre Argument

Genom att lägga till ett tredje argument till range(), introducerar du ett step-värde, som definierar inkrementet mellan varje nummer i sekvensen.

I detta exempel tar range() 1 (start), 13 (stop), och 3 (step), vilket ger numren 1, 4, 7, 10. Dessa kan representera starttimmarna för personalens skift 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

Exempelapplikation

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

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

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 range()-funktionen för att iterera genom listindex.
  • Vid varje iteration:
    • Hämta den aktuella weekday från weekdays-listan.
    • Hämta motsvarande kampanj från daily_promotions med samma index.
  • Skriv ut båda värdena i det angivna formatet.

Utmatningskrav

  • För varje dag, skriv ut:
    <weekday>: Kampanj på <promotion>

Notera

Se till att båda listorna har samma antal objekt för att undvika indexeringsfel.

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
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt