programmeren

in python

Jaar 2 - Module 2 - Les 3: While lus met boolean

vandaag gaan we...

 

  • Herhalen hoe je een while lus gebruikt

  • Leren hoe je een while lus kan gebruiken met een Boolean

  • Leren hoe je een while lus kan gebruiken om spellen te maken, zoals Galgje

 

 

Dat kan dus bijvoorbeeld zo:

 

Wat gebeurt hier precies?

 

  • We vragen om invoer
print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

while-lus (herhaling)

 

 

Dat kan dus bijvoorbeeld zo:

 

Wat gebeurt hier precies?

 

  • We vragen om invoer
  • Zolang de invoer 'hond' is
print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

while-lus (herhaling)

 

 

Dat kan dus bijvoorbeeld zo:

 

Wat gebeurt hier precies?

 

  • We vragen om invoer
  • Zolang de invoer 'hond' is
  • Printen we deze 3 regels
print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

while-lus (herhaling)

 

 

Dat kan dus bijvoorbeeld zo:

 

Wat gebeurt hier precies?

 

  • We vragen om invoer
  • Zolang de invoer 'hond' is
  • Printen we deze 3 regels
  • Dan vragen we weer om invoer
print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

while-lus (herhaling)

print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

 

 

Let bij een while-lus op deze dingen:

 

  • gebruik == om te controleren of de lus al klaar is.
  • Vergeet de dubbele punt niet.
  • Alleen de regels die met spaties beginnen worden herhaald!

 

while-lus (herhaling)

demo

print('Hond of kat?')
dier = input()

while dier == 'hond':
  print('Waf waf')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

 

 

Als de lus moet doorgaan zolang het dier NIET hond is, gebruik je !=

 

 

while-lus (herhaling)

print('Hond of kat?')
dier = input()

while dier != 'hond':
  print('Miauwwww')
  print('Nog een keer!')
  print('Hond of kat?')
  dier = input()

 

 

Als de lus moet doorgaan zolang het dier NIET hond is, gebruik je !=

 

 

while-lus (herhaling)

demo

 

 

While-lussen zijn handig als je een raadspel programmeert. 

Voorbeelden van raadspellen zijn:

 

while-lus in spellen

while met boolean (nieuw)

Het spel Galgje kan om 2 redenen afgelopen zijn:

 

 

while met boolean (nieuw)

Het spel Galgje kan om 2 redenen afgelopen zijn:

 

  1. Het woord is geraden
  2. De 10 beurten zijn op

while met boolean (nieuw)

Het spel Galgje kan om 2 redenen afgelopen zijn:

 

  1. Het woord is geraden
  2. De 10 beurten zijn op

 

We gaan nu een while lus maken die net zo lang doorgaat tot het spel is afgelopen. Als 1 van deze twee dingen gebeurt moet het spel stoppen.

Dat slaan we op in een variabele: spel_afgelopen

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Dat kunnen we zo maken:

 

 

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Dat kunnen we zo maken:

 

 

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Deze variabele geeft aan of het spel afgelopen is

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Zolang die variabele nee is

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Zolang die variabele nee is

blijft deze hele lus aan

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Dit stuk blijft hetzelfde als we al hadden

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Dit stuk wordt anders

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Als het woord geraden is, 

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Als het woord geraden is, dan stellen we de variabele spel_afgelopen in op ja 

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Python loopt dan weer naar boven

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Python loopt dan weer naar boven, en kijkt nu of spel_afgelopen 'nee'. 

while met boolean (nieuw)

geheim_woord = 'pindakaas'
spel_afgelopen = 'nee'

while spel_afgelopen == 'nee':
  print('woord of letter raden?')
  keuze = input()
  if keuze == 'letter':
    print('Okee, probeer een letter!')
    letter = input()
    if letter in geheim_woord:
      print('Deze letter zit erin!')
    else:
      print('Deze letter zit er niet in!')
  else:
    print('Okee, probeer een woord!')
    # vanaf hier wordt het anders!
    woord = input()
    if woord == geheim_woord:
      spel_afgelopen = 'ja'
    else:
      print('Dat woord is fout, helaas!')

Python loopt dan weer naar boven, en kijkt nu of spel_afgelopen 'nee'. 

 

Maar het is 'ja', want dat hebben we net ingesteld.

De lus stopt.

demo

galgje verbeteren

Volg deze stappen (die staan straks ook in repl.it)

 

  • Gebruik een while lus om te kijken of het spel afgelopen is
  • Vraag in de lus om een woord of een letter
  • Bij letter: Kijk of de letter erin zit
  • Bij woord: (nieuw!) Kijk of het woord het juiste woord is, stop dan
  • Na 10 beurten: Stop het spel ook

opdrachten in repl.it

  • In plaats van papieren werkvellen maken we de opdrachten nu online.

opdrachten in repl.it

  • In plaats van papieren werkvellen maken we de opdrachten nu online.
  • Ga naar de Classroom: https://repl.it/classroom/invite/ojr4pXL
     
  • Maak opdrachten 1, 2, 3 en 4
  • 5 is extra
  • Inleveren via repl.it (dus niet via Magister!)
  • Samenwerken:
    • Overleggen mag
    • Overtypen/multiplayer mag NIET
  • Deadline dinsdag om 16:59

opdrachten in repl.it

de opdrachten...

Made with Slides.com