Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Range-Functie | Lussen
Introductie tot Python

Veeg om het menu te tonen

book
Range-Functie

De range()-functie in Python is een ingebouwde functie die een reeks getallen genereert.

Deze wordt vaak gebruikt om over een reeks te itereren met lussen, vooral wanneer u een lus een specifiek aantal keren moet uitvoeren.

Dit is ideaal voor taken met een voorspelbaar herhalingspatroon, zoals het aanvullen van schappen of het plannen van aanbiedingen in een supermarkt.

Laten we bekijken hoe Alex de range()-functie gebruikt om routinetaken in ons supermarktvoorbeeld efficiënt te beheren:

Syntax en Argumenten

De range()-functie kan tot drie argumenten aannemen, waardoor deze veelzijdig is voor verschillende lus-scenario's.

Hier is de algemene syntax voor de range-functie:

python
  • start: dit is het eerste getal van de reeks. Dit is optioneel; als u het niet opgeeft, begint de reeks bij 0.

  • stop: dit is het laatste getal van de reeks, maar de reeks stopt net vóór dit getal. Dit argument is verplicht.

  • step: dit is het aantal dat u optelt (of aftrekt) tussen elk getal in de reeks. Dit is optioneel; als u het niet opgeeft, wordt de reeks telkens met 1 verhoogd.

Nu u de syntax van de range()-functie begrijpt, bekijken we enkele voorbeelden om te zien hoe elk argument — start, stop en step — het gedrag van lussen beïnvloedt.

Eén argument

Wanneer de range()-functie één argument krijgt, wordt dit beschouwd als de stop-parameter.

In ons voorbeeld genereert het een reeks van 7 elementen beginnend bij 0 en eindigend bij 6. De lus itereert over deze elementen, wat de eerste 7 dagen dat de winkel open is voorstelt.

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

Opmerking

De reeks begint bij 0 en eindigt bij 6. Dit komt doordat Python vaak begint te tellen vanaf 0, wat de noodzaak om indexering aan te passen in veel situaties vermindert.

Twee Argumenten

Wanneer twee argumenten worden opgegeven, zoals 25 (start) en 32 (stop), genereert range() een reeks van 25 tot 31 (omdat de stop-waarde niet wordt opgenomen in de reeks).

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

Opmerking

Met deze methode van indexeren, waarbij het laatste element wordt uitgesloten, kun je eenvoudig het aantal elementen in de reeks berekenen door het start-argument van het stop-argument af te trekken. Bijvoorbeeld, 32 - 25 = 7, wat betekent dat er 7 elementen in de reeks zijn.

Drie Argumenten

Door een derde argument toe te voegen aan range(), introduceer je een step-waarde, die de stapgrootte tussen elk getal in de reeks bepaalt.

In dit voorbeeld neemt range() de waarden 1 (start), 13 (stop) en 3 (step), wat resulteert in de getallen 1, 4, 7, 10. Deze kunnen de starturen van personeelsdiensten tijdens een werkdag van 12 uur voorstellen.

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

Voorbeeldtoepassing

Met de functie range() kunnen we taken voor elke dag van de week inplannen om ervoor te zorgen dat alle afdelingen van de winkel worden gedekt.

Deze lus wordt 7 keer uitgevoerd omdat range(7) de getallen van 0 tot 6 genereert (in totaal 7 elementen). In elke iteratie krijgt de variabele day een waarde van 0 tot 6, die vervolgens wordt gebruikt om elementen uit zowel de lijsten weekly_tasks als weekdays op te halen.

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
Taak

Swipe to start coding

Gebruik twee lijstenweekdays en daily_promotions — om de promotie die aan elke dag van de week is toegewezen te tonen.

  • Gebruik een for-lus met de functie range() om door de lijstindices te itereren.
  • Voer in elke iteratie het volgende uit:
    • Haal de huidige weekday uit de lijst weekdays.
    • Haal de bijbehorende promotie uit daily_promotions met dezelfde index.
  • Toon beide waarden in het opgegeven formaat.

Uitvoervereisten

  • Voor elke dag tonen:
    <weekday>: Promotie op <promotion>

Opmerking

Zorg ervoor dat beide lijsten hetzelfde aantal items bevatten om indexeringsfouten te voorkomen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

book
Range-Functie

De range()-functie in Python is een ingebouwde functie die een reeks getallen genereert.

Deze wordt vaak gebruikt om over een reeks te itereren met lussen, vooral wanneer u een lus een specifiek aantal keren moet uitvoeren.

Dit is ideaal voor taken met een voorspelbaar herhalingspatroon, zoals het aanvullen van schappen of het plannen van aanbiedingen in een supermarkt.

Laten we bekijken hoe Alex de range()-functie gebruikt om routinetaken in ons supermarktvoorbeeld efficiënt te beheren:

Syntax en Argumenten

De range()-functie kan tot drie argumenten aannemen, waardoor deze veelzijdig is voor verschillende lus-scenario's.

Hier is de algemene syntax voor de range-functie:

python
  • start: dit is het eerste getal van de reeks. Dit is optioneel; als u het niet opgeeft, begint de reeks bij 0.

  • stop: dit is het laatste getal van de reeks, maar de reeks stopt net vóór dit getal. Dit argument is verplicht.

  • step: dit is het aantal dat u optelt (of aftrekt) tussen elk getal in de reeks. Dit is optioneel; als u het niet opgeeft, wordt de reeks telkens met 1 verhoogd.

Nu u de syntax van de range()-functie begrijpt, bekijken we enkele voorbeelden om te zien hoe elk argument — start, stop en step — het gedrag van lussen beïnvloedt.

Eén argument

Wanneer de range()-functie één argument krijgt, wordt dit beschouwd als de stop-parameter.

In ons voorbeeld genereert het een reeks van 7 elementen beginnend bij 0 en eindigend bij 6. De lus itereert over deze elementen, wat de eerste 7 dagen dat de winkel open is voorstelt.

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

Opmerking

De reeks begint bij 0 en eindigt bij 6. Dit komt doordat Python vaak begint te tellen vanaf 0, wat de noodzaak om indexering aan te passen in veel situaties vermindert.

Twee Argumenten

Wanneer twee argumenten worden opgegeven, zoals 25 (start) en 32 (stop), genereert range() een reeks van 25 tot 31 (omdat de stop-waarde niet wordt opgenomen in de reeks).

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

Opmerking

Met deze methode van indexeren, waarbij het laatste element wordt uitgesloten, kun je eenvoudig het aantal elementen in de reeks berekenen door het start-argument van het stop-argument af te trekken. Bijvoorbeeld, 32 - 25 = 7, wat betekent dat er 7 elementen in de reeks zijn.

Drie Argumenten

Door een derde argument toe te voegen aan range(), introduceer je een step-waarde, die de stapgrootte tussen elk getal in de reeks bepaalt.

In dit voorbeeld neemt range() de waarden 1 (start), 13 (stop) en 3 (step), wat resulteert in de getallen 1, 4, 7, 10. Deze kunnen de starturen van personeelsdiensten tijdens een werkdag van 12 uur voorstellen.

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

Voorbeeldtoepassing

Met de functie range() kunnen we taken voor elke dag van de week inplannen om ervoor te zorgen dat alle afdelingen van de winkel worden gedekt.

Deze lus wordt 7 keer uitgevoerd omdat range(7) de getallen van 0 tot 6 genereert (in totaal 7 elementen). In elke iteratie krijgt de variabele day een waarde van 0 tot 6, die vervolgens wordt gebruikt om elementen uit zowel de lijsten weekly_tasks als weekdays op te halen.

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
Taak

Swipe to start coding

Gebruik twee lijstenweekdays en daily_promotions — om de promotie die aan elke dag van de week is toegewezen te tonen.

  • Gebruik een for-lus met de functie range() om door de lijstindices te itereren.
  • Voer in elke iteratie het volgende uit:
    • Haal de huidige weekday uit de lijst weekdays.
    • Haal de bijbehorende promotie uit daily_promotions met dezelfde index.
  • Toon beide waarden in het opgegeven formaat.

Uitvoervereisten

  • Voor elke dag tonen:
    <weekday>: Promotie op <promotion>

Opmerking

Zorg ervoor dat beide lijsten hetzelfde aantal items bevatten om indexeringsfouten te voorkomen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt