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 tal.

Den används ofta för att iterera över en sekvens med loopar, särskilt när det är nödvändigt att köra 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 funktionen range() för att effektivt hantera rutinuppgifter i vårt butiksscenario:

Syntax och argument

Funktionen range() 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 funktionen range:

python
  • 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 läggs till (eller dras ifrån) 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åelse för syntaxen för funktionen range(), 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 funktionen range() ges ett enda argument behandlas detta som parametern stop.

I vårt exempel genererar den en sekvens av 7 element som börjar på 0 och slutar på 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() anger du 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 är tilldelad 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 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
Vi beklagar att något gick fel. Vad hände?

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 tal.

Den används ofta för att iterera över en sekvens med loopar, särskilt när det är nödvändigt att köra 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 funktionen range() för att effektivt hantera rutinuppgifter i vårt butiksscenario:

Syntax och argument

Funktionen range() 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 funktionen range:

python
  • 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 läggs till (eller dras ifrån) 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åelse för syntaxen för funktionen range(), 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 funktionen range() ges ett enda argument behandlas detta som parametern stop.

I vårt exempel genererar den en sekvens av 7 element som börjar på 0 och slutar på 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() anger du 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 är tilldelad 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 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