Waar of niet waar?
Zestien stellingen over Python, van variabelen tot dictionaries. Omcirkel per stelling W (waar) of N (niet waar), en schrijf in één zin waarom. Werk eerst alleen, vergelijk dan met je buur. Ben je het oneens, dan beslist Python: probeer het in de playground.
Wat je nodig hebt
- Een geprinte hand-out en een pen per leerling.
- Ongeveer 25 minuten. Je kunt ook alleen de stellingen doen van de hoofdstukken die je al hebt gehad.
Variabelen
- W / N Na
a = 4,b = aena = 9isbgelijk aan 9. - W / N
x = x + 1is een fout, wantxkan nooit gelijk zijn aanx + 1. - W / N
"5" + "5"geeft"55".
Beslissen
- W / N Bij
if,elifenelsevoert Python hooguit één tak uit. - W / N Met
if a > 5:en daaronderelif a > 3:print een programma meta = 7iets in allebei de takken. - W / N
x > 3 and x < 10is waar alsx10 is.
Herhalen
- W / N
range(1, 5)geeft de getallen 1 tot en met 5. - W / N Een while-loop kan nul keer draaien.
- W / N
breakstopt alleen de ronde waarin hij staat; daarna gaat de loop door.
Functies
- W / N Een functie zonder
returngeeftNoneterug. - W / N Een variabele die je in een functie maakt, kun je daarna buiten de functie gebruiken.
- W / N Na
returnvoert de functie de regels eronder nog uit.
Lijsten en dictionaries
- W / N
lijst[1]is het eerste element van een lijst. - W / N
lijst[-1]is het laatste element van een lijst. - W / N In een dictionary zoek je een waarde op met de sleutel, niet met een plek.
- W / N
kluis["x"] = 1geeft eenKeyErrorals"x"nog niet inkluisstaat.
Bespreek na
- Bij welke stelling was je het met je buur het langst oneens? Wie had gelijk, en hoe bewees Python het?
- Kies een stelling die niet waar is, en maak er een ware stelling van.
Antwoorden
Bij elke stelling staat een stukje code dat het laat zien.
1. Niet waar. b blijft op de 4 zitten; alleen het etiket a
verhuist.
a = 4
b = a
a = 9
print(b) # 4
2. Niet waar. = betekent "geef deze naam aan". Python rekent eerst
x + 1 uit, en geeft x dan die nieuwe waarde.
x = 3
x = x + 1
print(x) # 4
3. Waar. Met aanhalingstekens is het tekst, en + plakt tekst aan
elkaar.
print("5" + "5") # 55
4. Waar. Zodra één tak waar is, slaat Python de rest over.
5. Niet waar. a > 5 is al waar, dus de elif komt niet aan de beurt.
a = 7
if a > 5:
print("groter dan 5")
elif a > 3:
print("groter dan 3")
Uitvoer:
groter dan 5
6. Niet waar. x < 10 is niet waar bij 10, en and eist dat allebei
waar is.
x = 10
print(x > 3 and x < 10) # False
7. Niet waar. range stopt vóór het tweede getal.
print(list(range(1, 5))) # [1, 2, 3, 4]
8. Waar. Is de voorwaarde meteen niet waar, dan begint de eerste ronde niet eens.
getal = 10
while getal < 5:
print("in de loop")
print("klaar") # klaar
9. Niet waar. break stopt de hele loop. De ronde overslaan doet
continue.
for getal in range(1, 6):
if getal == 3:
break
print(getal)
Uitvoer:
1
2
10. Waar.
def groet():
print("Hoi")
uitkomst = groet()
print(uitkomst)
Uitvoer:
Hoi
None
11. Niet waar. De variabele staat op het kladblaadje van de functie, en dat is weg zodra de functie klaar is.
NameError: name 'binnen' is not defined
def maak():
binnen = 5
maak()
print(binnen)
12. Niet waar. return beëindigt de functie meteen.
def test():
return 1
print("dit zie je nooit")
print(test()) # 1
13. Niet waar. Tellen begint bij 0, dus lijst[0] is het eerste.
14. Waar.
lijst = ["a", "b", "c"]
print(lijst[1]) # b
print(lijst[-1]) # c
15. Waar.
16. Niet waar. Iets in een nieuw kluisje zetten mag altijd. Alleen
lézen uit een kluisje dat er niet is, geeft een KeyError.
kluis = {}
kluis["x"] = 1
print(kluis) # {'x': 1}
Verder op de site
- Een stelling fout? Lees de les nog eens: 2 Jij als variabele, 5c And, or en elif, 6d Stoppen met break, 9b Return, 9c Scope of 10a Lijsten.