Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Rangefunctie | Lussen
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot Python

bookRangefunctie

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 het nodig is om een lus een specifiek aantal keren uit te voeren.

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

Bekijk hoe Alex de range()-functie gebruikt om routinetaken in onze supermarkt 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:

range(start, stop, step)
  • start: dit is het eerste getal van de reeks. Dit is optioneel; als je 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 de hoeveelheid die je toevoegt (of aftrekt) tussen elk getal in de reeks. Dit is optioneel; als je het niet opgeeft, wordt de reeks telkens met 1 verhoogd.

Nu je 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 weergeeft.

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 uitgesloten is van 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 toename 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 ploegendiensten van personeel 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 plannen 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.
  • In elke iteratie:
    • Haal de huidige weekday uit de lijst weekdays.
    • Haal de bijbehorende promotie uit daily_promotions met dezelfde index.
  • Toon beide waarden in het gespecificeerde formaat.

Uitvoervereisten

  • Voor elke dag tonen:
    <weekday>: Promotion on <promotion>

Opmerking

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

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

close

bookRangefunctie

Veeg om het menu te tonen

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 het nodig is om een lus een specifiek aantal keren uit te voeren.

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

Bekijk hoe Alex de range()-functie gebruikt om routinetaken in onze supermarkt 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:

range(start, stop, step)
  • start: dit is het eerste getal van de reeks. Dit is optioneel; als je 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 de hoeveelheid die je toevoegt (of aftrekt) tussen elk getal in de reeks. Dit is optioneel; als je het niet opgeeft, wordt de reeks telkens met 1 verhoogd.

Nu je 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 weergeeft.

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 uitgesloten is van 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 toename 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 ploegendiensten van personeel 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 plannen 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.
  • In elke iteratie:
    • Haal de huidige weekday uit de lijst weekdays.
    • Haal de bijbehorende promotie uit daily_promotions met dezelfde index.
  • Toon beide waarden in het gespecificeerde formaat.

Uitvoervereisten

  • Voor elke dag tonen:
    <weekday>: Promotion on <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
single

single

some-alt