Les 7: While (+teller)

In de vorige les hebben we het over while loops gehad, maar wat nou als je na een bepaalde tijd wilt stoppen met de loop? Bijvoorbeeld na tien keer dezelfde vraag gesteld te hebben dat het programma stopt. Dit kan door booleaanse vergelijkingen met de while mee te geven. Als de vergelijking dan False is, stopt het programma. Het gaat als volgt:

We maken een eerst een counter aan met een bepaalde beginwaarde. Vervolgens updaten we deze steeds en als deze tien wordt stopt het programma.

counter = 0
while counter < 10:
  woord = input("Type een woord")
  if woord == "quit":
    break

  lengte = len(woord)
  print ("De lengte van jouw woord is " + str(lengte))
  counter += 1
  print counter
  
print ("EINDE")

Je kan hier zien dat er hier twee verschillende manieren gebruikt worden om uit de while loop te komen. De eerste is als het woordje "quit" getypt wordt, want dan wordt er vervolgens een break gebruikt die ervoor zorgt dat we uit de loop springen. De tweede manier is dus de booleaanse vergelijking na de while. Zolang deze vergelijking True geeft, blijft de loop in werking. Maar op het moment dat deze booleaanse vergelijking een waarde van False heeft, wordt de loop gestopt en gaan we verder naar de rest van het programma (in dit geval dus: print ("EINDE")).

Opdracht 1

Schrijf een programma waar de gebruiker steeds om een getal wordt gevraagd. Tel dit getal dan op bij het voorgaande getal. Als deze som van alle voorgaande getallen uiteindelijk groter is dan 200, stopt het programma en wordt uit uiteindelijke getal geprint.

>>> Hallo, wil je mij een getal geven? >>> 27 >>> Hallo, wil je mij een getal geven? >>> 150 >>> Hallo, wil je mij een getal geven? >>> 63 >>> Het totaal is: 240

Opdracht 2

Schrijf een programma waarbij de gebruiker vijf pogingen krijgt om een getal onder de tien moet raden. Als het getal geraden is stopt het programma en krijgt de gebruiker een vrolijk berichtje dat hij/zij heeft gewonnen! Als het niet geraden wordt stopt het programma dus na vijf keer.

>>> Geef mij een getal onder de tien a.u.b. >>> 5 >>> Helaas! >>> Geef mij een getal onder de tien a.u.b. >>> 6 >>> Helaas! >>> Geef mij een getal onder de tien a.u.b. >>> 7 >>> Helaas! >>> Geef mij een getal onder de tien a.u.b. >>> 8 >>> Helaas! >>> Geef mij een getal onder de tien a.u.b. >>> 9 >>> Helaas! Je hebt het niet geraden binnen vijf pogingen :(

Opdracht 3

Vraag de gebruiker om het langste woord dat ze kunnen bedenken, en print vervolgens elke letter daarvan apart uit. (denk aan slicing)

Opdracht 4

Schrijf een programma waarin je om de gebruiker zijn email adres vraagt, en vervolgens alles voor het “@ ” teken print.

Opdracht 5

Schrijf een programma waarin je de gebruiker om een zin vraagt, en print vervolgens elk woord apart uit.

Last updated