Lijsten en For-loops staan niet in hetzelfde hoofdstuk, maar het is wel zo handig ze tegelijk te leren en te oefenen. Daar gaat deze les over.

Een lijst maken

We beginnen met een gewone boodschappenlijst.

boodschappen = ['aardappels','cola','tandpasta','andijvie','vegaburgers']

Een lijst uit een range

Wil je een lijst maken die bestaat uit een bereik van getallen – een range  – dan doe je dat zo:

onvoldoende = list(range(1,5))

De functie range levert een speciaal object op, die je omzet in een lijst met de functie list. Later gaan we deze lijsten weergeven in een loop.

De lijst weergeven – Opdrachten

  • Geef de hele lijst weer met de functie print()
  • Geef het derde item van de lijst weer met de index boodschappen[2] <- WTF ?
  • Onderzoek de lengte van deze lijst met de functie len(boodschappen)
  • Geef het vierde tot en met laatste item weer met de subset boodschappen[4 : len(boodschappen)]
  • Wat betekent boodschappen[0]

Items erbij of eraf

Met de functie append() kun je de lijst uitbreiden. Die noteer je in de dot-notatie als volgt:

boodschappen.append('spinazie')

Met de functie del() kun je items eraf deleten. In een andere notatie:

del boodschappen[4]
print(boodschappen)

Door lijsten lopen met een for-loop

Het komt heel vaak voor dat je alle items van een lijst af moet met dezelfde instructies. Dat gaat zo:

for boodschap in boodschappen:
    koopmij = input("Wil je echt " + boodschap + " kopen? (j/n)")
print("Klaar")

Let op: er staat 4 spaties (of een tab) voor de code in de for-loop. Als je de loop wilt beëindigen, moet je de volgende regel weer recht onder  de f van for beginnen.

Meer Opdrachten

Docenten

  • Maak een lijst van je favoriete 5 docenten.
  • Print de lijst. Toon in een loop elke docent en vraag om een ranking tussen 1 en 5.

Vakken

  • Ga verder met een lijst van vakken uit klas 2.
  • Toon de lijst met vakken en vraag drie keer om “welk vak laat je vallen”
  • Verwijder deze uit de lijst
  • Toon de lijst die overblijft en toon die na de string: Vakken in klas 3.
  • Doe hetzelfde nu, maar niet door 3x dezelfde code te gebruiken, maar in een for-loop. Om dit te doen,moet je de if-then-else gebruiken, die je krijgt in de volgende les! Probeer m vast op te zoeken.

Vakanties

  • Je kerstvakantie duurt in totaal 16 dagen. Maak een range aan en toon elke dag als volgt:
  • Wat doe je op 25 december ?
  • Plaats de antwoorden (strings) in een nieuwe lijst doe. Je voegt alle items in de loop toe met append maar je moet eigenlijk eerst (voor de loop begint) de lijst definiëren met
doe = []