programmeren
in python
Jaar 2 - Module 2 - Les 5: count en index
vandaag gaan we...
-
Herhalen hoe je een while lus kan gebruiken met een Boolean
-
Leren hoe je met count kan tellen hoe vaak een letter voorkomt
-
Leren hoe je met een for lus kan kijken of een letter op meerdere plekken voorkomt
Een Boolean kan maar 2 dingen zijn: Ja of Nee.
spel_afgelopen = True
spel_afgelopen = False
-
Ja in Python is True
-
Nee in Python is False
while met boolean (herh)
Een Boolean kan maar 2 dingen zijn: Ja of Nee.
spel_afgelopen = True
spel_afgelopen = False
-
Ja in Python is True
-
Nee in Python is False
-
Let op! Allebei de woorden moeten met een hoofdletter
-
Zonder hoofdletter krijg je een foutmelding
-
Je hoeft geen aanhalingstekens te gebruiken!
while met boolean (herh)
Een Boolean kan maar 2 dingen zijn: Ja of Nee.
spel_afgelopen = 'nee'
geheim_getal = random.randint(1,10)
while spel_afgelopen == 'nee':
print('Het spel wordt gespeeld')
getal = input('Raad een getal')
if getal == geheim_getal:
spel_afgelopen = 'ja'
print('Het spel is uit!')
while met boolean (herh)
Een Boolean kan maar 2 dingen zijn: Ja of Nee.
Je kunt het gebruiken net zoals je we eerst ja en nee hadden.
spel_afgelopen = False
geheim_getal = random.randint(1,10)
while spel_afgelopen == False:
print('Het spel wordt gespeeld')
getal = input('Raad een getal')
if getal == geheim_getal:
spel_afgelopen = True
print('Het spel is uit!')
while met boolean (herh)
while met boolean (herh)
demo
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
We lopen de code even door
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
Als een letter wordt gekozen
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
Kijk dan op welke plek die letter zit.
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
Kijk dan op welke plek die letter zit.
Maar wat als de letter er vaker in zit?
demo
Bij het raden van 1 letter gaat nog niet alles goed helaas.
if letter in geheim_woord:
print('Deze letter zit erin!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
Kijk dan op welke plek die letter zit.
Maar index werkt dus niet voor meerdere letters.
Dat gaan we nu oplossen. Eerst gaan we de letters tellen.
Met count kun je kijken hoe vaak een letter in een woord zit. count is Engels voor tellen.
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
letters tellen (nieuw)
demo
Het tellen werkt nu goed.
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
index met for (nieuw)
Het tellen werkt nu goed.
Maar we krijgen alleen de eerste plaats in beeld.
Helaas werkt index alleen voor één letter. Voor meerdere letters moeten we een for lus maken.
Kennen jullie die nog?
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
index met for (nieuw)
Let bij een for-lus op deze dingen:
- na range komt het aantal keer dat je wilt herhalen tussen ronde haken
- na de range() moet weer een :
- op de volgende regel begin je met twee spaties
- Let op! Alleen de regels die met spaties beginnen worden herhaald!
#start de pen op
pen = turtle.Turtle()
for i in range(4):
pen.forward(100)
pen.left(90)
FOR LUSSEN (herh)
Op de plek van de index gebruiken we nu een for lus.
Dit gaat de lus doen:
- Iedere letter bekijken
- Is de letter hetzelfde als de letter die geraden is?
- Dan slaan we het plekje op
- Anders gaan we door naar de volgende letter
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
plekje = geheim_woord.index(letter)
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
index met for (nieuw)
Op de plek van de index gebruiken we nu een for lus.
Dit gaat de lus doen:
- Iedere letter bekijken
- Is de letter hetzelfde als de letter die geraden is?
- Dan slaan we het plekje op
- Anders gaan we door naar de volgende letter
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
for plekje in range(len(geheim_woord)):
if geheim_woord[plekje] == letter:
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
index met for (nieuw)
demo
Bij het echte galgjespel heb je op papier ook een lijstje met al geraden letters, zo: p...a.aa.
Dat kan ook in Python, in deze for lus.
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
for plekje in range(len(geheim_woord)):
if geheim_woord[plekje] == letter:
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
lijst met letters (nieuw)
Bij het echte galgjespel heb je op papier ook een lijstje met al geraden letters, zo: p...a.aa.
Dat kan ook in Python, in deze for lus.
Helemaal bovenin de code maak je een lijst met punten.
geraden_letters = list('.'*len(geheim_woord))
#.....
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
for plekje in range(len(geheim_woord)):
if geheim_woord[plekje] == letter:
print('En wel op plek', plekje+1)
else:
print('Deze letter zit er niet in!')
lijst met letters (nieuw)
Bij het echte galgjespel heb je op papier ook een lijstje met al geraden letters, zo: p...a.aa.
Dat kan ook in Python, in deze for lus.
Helemaal bovenin de code maak je een lijst met punten.
In de for lus zet je de letters in de lijst, die print je na de lus
geraden_letters = list('.'*len(geheim_woord))
#.....
if letter in geheim_woord:
aantal_keer = geheim_woord.count(letter)
print('Deze letter zit er', aantal_keer, 'keer in!')
for plekje in range(len(geheim_woord)):
if geheim_woord[plekje] == letter:
geraden_letters[plekje] = letter
print(geraden_letters)
else:
print('Deze letter zit er niet in!')
lijst met letters (nieuw)
demo
galgje verbeteren
Volg deze stappen (die staan straks ook in repl.it)
- Gebruik count om de letters te tellen
- Gebruik een forlus om te vertellen waar de letters zitten
- Gebruik een lijst om letters bij te houden die geraden zijn
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
- 4 is extra
- Je kunt ook nog aan mastermind werken (extra vorige week)
- 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...
Python Klas 2 - Module 2 - Les 5
By Felienne
Python Klas 2 - Module 2 - Les 5
Module Raadspellen, les 5a. Leerdoel: count en een for lus gebruiken voor letters die vaker voorkomen
- 692