Jaar 2 - Module 2 - Les 5: count en index
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
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!
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!')
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!')
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!')
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!')
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!')
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!')
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!')
Kijk dan op welke plek die letter zit.
Maar wat als de letter er vaker in 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!')
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!')
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!')
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!')
Let bij een for-lus op deze dingen:
#start de pen op
pen = turtle.Turtle()
for i in range(4):
pen.forward(100)
pen.left(90)
Op de plek van de index gebruiken we nu een for lus.
Dit gaat de lus doen:
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!')
Op de plek van de index gebruiken we nu een for lus.
Dit gaat de lus doen:
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!')
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!')
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!')
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!')
Volg deze stappen (die staan straks ook in repl.it)