Python 08 - 5.5 tmt 5.7 - geneste aanroepen, return, scope, declareren, gegevensvalidatie

                      Python
1 / 31
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

In deze les zitten 31 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

                      Python

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Fundament
Kerndomein D

D. Python
Hoofdstuk 5.5 tmt 5.7
https://fundament-online.nl/leeromgeving/content.php?paragraaf_id=114966



Slide 2 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen:
Na deze les kun je:
  • uitleggen hoe je functies nest
  • beschrijven wanneer je return gebruikt en waarom
  • verschillende scopes benoemen en uitleggen
  • aangeven welke scope een variabele heeft
  • uitleggen wat gegevensvalidatie is
  • gegevensvalidatie in code kunnen toepassen






Slide 3 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Nesten
Zoals we in HTML tags konden nesten, kunnen we dat ook doen met Python code:

print( int( input("Hoe oud ben je? ") ) )

(kleuren hier alleen om de functies goed te onderscheiden)
(ook de spaties bij de haakjes zijn voor leesbaarheid)

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Return 1/4
In de vorige les hebben we een user-defined function gezien

Wat we niet hebben behandeld is hoe we weer informatie van die functie terug kunnen krijgen... bekijk deze code:

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Return 2/4
Wat we nodig hebben is een return
Met een return geef je aan dat er iets terug moet komen uit de functie (zie regel 3 hieronder en bekijk de output):

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Return 3/4
Je kunt dit:



Ook zo doen:

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Return 4/4
Zonder return komt er niets terug uit de functie!

Wel kun je in een functie bepaalde variabelen aanpassen... maar daar is iets voor nodig dat we niet hebben behandeld:
scope

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Opdracht #1
timer
3:00

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Scope
Met scope geef je aan wat het "bereik" van een variabele is

Er zijn 2 verschillende scopes:
  • local
  • global

Hoe je de scope aangeeft, verschilt per programmeertaal

Slide 10 - Tekstslide

Deze slide heeft geen instructies

Scope: local
Local scope hebben:
  • parameters van en binnen een functie (a hieronder)
  • variabelen gemaakt binnen een functie (b hieronder)


Slide 11 - Tekstslide

Deze slide heeft geen instructies

Scope: global 1/2
Variabelen hebben een global scope wanneer ze:
  • gemaakt zijn buiten een functie (a hieronder)
  • voorafgegaan worden door "global" (b hieronder)


Slide 12 - Tekstslide

Deze slide heeft geen instructies

Scope: global 2/2
Let op: als een variabele wordt aangemaakt 
binnen een functie, dan bestaat die variabele pas buiten de functie zodra de functie is aangeroepen! 

Vergelijk:

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Gegevensvalidatie 1/4
Met valideren controleer je gegevens of ze goed zijn... wat "goed" is, hangt er maar net vanaf

Als je vraagt om een getal vanaf 0 tot en met 10, dan is alles onder 0 en boven 10 niet goed

Valideren kan dus vooral nodig zijn na input()

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Gegevensvalidatie 2/4
Een while-loop gaat door zolang de voorwaarde WAAR is

Gegevensvalidatie is om te kijken of de gegevens "valide" zijn, als ze NIET valide zijn, moet de while-loop activeren (en dus WAAR zijn)

We moeten de vergelijking dus omdraaien!

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Gegevensvalidatie 3/4
Je blijft de validering herhalen tot hij wel valide is!

Voor deze herhaling wordt vaak de while-loop gebruikt:



Zolang "vraag < 1" blijft het programma in de while loop

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Gegevensvalidatie 4/4
Bijvoorbeeld:
  • vraag: kies een getal van 0 of hoger
  • while-validatie: als getal kleiner is dan 0
  • vergelijking: while getal < 0:
    of
  • vergelijking: while not getal >= 0 :

Slide 17 - Tekstslide

Deze slide heeft geen instructies

Welke scope heeft variabele a?




A
local
B
global

Slide 18 - Quizvraag

Deze slide heeft geen instructies

Welke scope heeft variabele a?





A
local
B
global

Slide 19 - Quizvraag

Deze slide heeft geen instructies

Welke scope heeft variabele a?



A
local
B
global

Slide 20 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?





A
10
B
niets
C
foutmelding

Slide 21 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

A
11
B
niets
C
foutmelding

Slide 22 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

A
11
B
niets
C
foutmelding

Slide 23 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?


A
10
B
100
C
niets
D
foutmelding

Slide 24 - Quizvraag

Deze slide heeft geen instructies

In je programma wordt om input gevraagd van een gebruiker
De input wordt opgeslagen in variabele "a"
Variabele "a" moet 1 of groter zijn en 100 of kleiner

Welke loop gebruik je voor validering?


A
while-loop
B
for-loop
C
niets

Slide 25 - Quizvraag

Deze slide heeft geen instructies

In je programma wordt om input gevraagd van een gebruiker
De input wordt opgeslagen in variabele "a"
Variabele "a" moet 1 of groter zijn en 100 of kleiner

Welke loop gebruik je voor validering?


A
while a > 1 or a < 100:
B
while a < 1 or a < 100:
C
while a < 1 or a > 100:
D
geen van deze

Slide 26 - Quizvraag

Deze slide heeft geen instructies

In je programma wordt om input gevraagd van een gebruiker
De input wordt opgeslagen in variabele "a"
Variabele "a" moet 1 of groter zijn en 100 of kleiner

Welke loop gebruik je voor validering?


A
while a > 1 or a < 100:
B
while a < 1 or a < 100:
C
while a < 1 or a > 100:
D
geen van deze

Slide 27 - Quizvraag

Deze slide heeft geen instructies

In je programma wordt om input gevraagd van een gebruiker
De input wordt opgeslagen in variabele "a"
Variabele "a" moet 1 of groter zijn en 100 of kleiner

Welke loop gebruik je voor validering?


A
while a > 1 and a < 100:
B
while a > 1 and a > 100:
C
while a < 1 and a > 100:
D
geen van deze

Slide 28 - Quizvraag

Deze slide heeft geen instructies

In je programma wordt om input gevraagd van een gebruiker
De input wordt opgeslagen in variabele "a"
Variabele "a" moet 1 of groter zijn en 100 of kleiner

Welke loop gebruik je voor validering?


A
while a < 1 or a > 100:
B
while a < 1 and a > 100:
C
while a < 1 or 100 > a:
D
geen van deze

Slide 29 - Quizvraag

Deze slide heeft geen instructies

Leerdoelen:
Nu kun je:
  • uitleggen hoe je functies nest
  • beschrijven wanneer je return gebruikt en waarom
  • verschillende scopes benoemen en uitleggen
  • aangeven hoe je een bepaalde scope gebruikt
  • uitleggen wat gegevensvalidatie is
  • gegevensvalidatie in code kunnen toepassen






Slide 30 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 31 - Tekstslide

Deze slide heeft geen instructies