Python 03 - 2.10 tmt 3.3 - datum/tijd, vergelijkingsoperatoren, booleans, booleaanse operatoren

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

In deze les zitten 47 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 2.10, 3.1, 3.2, 3.3
https://fundament-online.nl/leeromgeving/content.php?paragraaf_id=114954


Slide 2 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen:
Na deze les kun je:
  • (een beetje) rekenen met datum en tijd
  • uit een datum object in Python het jaar halen
  • het verschil tussen twee data in Python halen
  • een gegeven vergelijkingsoperator toepassen & uitleggen
  • alle booleaanse waarden opnoemen
  • alle booleaanse operatoren opnoemen






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.
Datum en tijd 1/6
Soms heeft je programma een datum en tijd nodig

Bijvoorbeeld als je wilt:
  • berekenen hoe oud iemand (of iets) is
  • berekenen over hoeveel tijd een volgende gebeurtenis is
  • bepalen of een update controle moet worden gedaan
  • bepalen of een periodieke taak moet worden uitgevoerd

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Datum en tijd 2/6
Om datum/tijd functionaliteit te gebruiken in Python is een standaardbibliotheek (standard library) nodig: datetime

Hoe importeerden we ook alweer een library in Python?

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Datum en tijd 2/6
Om datum/tijd functionaliteit te gebruiken in Python is een standaardbibliotheek (standard library) nodig: datetime

Hoe importeerden we ook alweer een library in Python?
met import

import datetime

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Datum en tijd 3/6
We kunnen ook een bepaald gedeelte (module) uit een library importeren, bijvoorbeeld een functie of class
Een class is een verzameling functies

Dat doe je zo:
from datetime import datetime
from  library   import  class / module

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Datum en tijd 4/6
Zoek de verschillen!

from datetime import datetime
print( datetime.now() )

import datetime
print( datetime.datetime.now() )


Slide 8 - Tekstslide

methode is een functie gekoppeld aan een object
Datum en tijd 5/6
de methode .now() geeft ons de huidige tijd:

datetime.now()

Hiermee krijg je het exacte moment dat deze regel wordt uitgevoerd: jaar maand dag uur minuut (milli) seconde

Slide 9 - Tekstslide

methode is een functie gekoppeld aan een object
Datum en tijd 6/6
we kunnen uit de huidige tijd ook een bepaald gedeelte halen, dat doen we met de volgende attributen, zoals:
.year 
.month
.day

print(  datetime.now().year  )

Slide 10 - Tekstslide

Deze slide heeft geen instructies

attribuut
Een attribuut is een kenmerk van het object

Kenmerken (en dus attributen) van een datum zijn bijvoorbeeld dat er een jaar en een dag in zit

Deze attributen moeten wel worden toegekend (is al gedaan bij een library), dus het is niet automatisch zo

Slide 11 - Tekstslide

Deze slide heeft geen instructies

class, functie, methode, attribuut
Resumé:
library en class: from datetime import datetime
functie: print(), input(), len()
methode: .lower(), .upper()
attribuut: .year, .month, .day, .days

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Opdracht #1
  1. Open Thonny
  2. Neem onderstaande code over:
    ditiseenvar = datetime.datetime.now()
    print(ditiseenvar.year)
  3. Druk nu op de groene play knop (of kies F5)
  4. Wat is het resultaat? (oh, had je geen import gedaan?)
  5. Gelukt? Probeer dan de maand te laten zien!
timer
3:00

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Rekenen met een datum 1/2
Je zou denken dat het eenvoudig is om te rekenen met een datum... maar als je iets verder zou denken, dan loop je al snel tegen een probleem aan...

HOE DAN?!

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Rekenen met een datum 2/2
Wat wil je berekenen? Het verschil in seconden? In dagen? Je programma moet begrijpen wat je wil!

Daarvoor kunnen we attributen voor gebruiken:
.days .seconds .microseconds

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Opdracht #2
  1. Pas onderstaande code aan zodat jouw leeftijd in jaren (ongeveer) wordt berekend
  2. from datetime import datetime
    datum1 = datetime(2019, 9, 1)
    datum2 = datetime.now()
    print( ( datum1 - datum2 ).days )
timer
3:00

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Vergelijkingsoperatoren 1/3
We hebben nu een aantal functies gezien en hoe we libraries kunnen importeren, maar programmeren wordt pas echt handig zodra we dingen gaan vergelijken

Daar hebben we twee dingen voor nodig:
  1. Booleaanse waarden, en
  2. vergelijkingsoperatoren

Slide 17 - Tekstslide

Deze slide heeft geen instructies

Booleaanse waarden
Booleaanse waarden zijn de uitkomsten van een vergelijking

Er zijn 2 booleaanse waarden:
  1. TRUE (in Nederlands: WAAR)
  2. FALSE (in Nederlands: ONWAAR)

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Vergelijkingsoperatoren 1/3
Er zijn 2 booleaanse waarden, maar er zijn veel meer verschillende vergelijkingsoperatoren

Wel zijn deze voor veel programmeertalen hetzelfde

Slide 19 - Tekstslide

Deze slide heeft geen instructies

Vergelijkingsoperatoren 2/3





10     <      11   = TRUE 
a operator  b   = booleaanse waarde

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Wat is de uitkomst?

33 > 44 = _____
A
TRUE
B
FALSE
C
fout

Slide 21 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

33 < 44 = _____
A
TRUE
B
FALSE
C
fout

Slide 22 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 == 100 = _____
A
TRUE
B
FALSE
C
fout

Slide 23 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 =< 100 = _____
A
TRUE
B
FALSE
C
fout

Slide 24 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

10 <= 10 = _____
A
TRUE
B
FALSE
C
fout

Slide 25 - Quizvraag

Deze slide heeft geen instructies


Welke operator hoort hier?

50 __ 100 = TRUE
A
<
B
>
C
>=
D
<=

Slide 26 - Quizvraag

Deze slide heeft geen instructies


Welke operator hoort hier?

50 __ 100 = TRUE
A
!=
B
>
C
=>
D
=<

Slide 27 - Quizvraag

Deze slide heeft geen instructies


Welke operator hoort hier?

100 __ 50 = TRUE
A
<
B
>
C
>=
D
<=

Slide 28 - Quizvraag

Deze slide heeft geen instructies


Welke operator hoort hier?

50 __ 50 = TRUE
A
<
B
>
C
>=
D
<=

Slide 29 - Quizvraag

Deze slide heeft geen instructies


Welke operator hoort hier?

50 __ 51 = FALSE
A
<=
B
>=
C
==

Slide 30 - Quizvraag

Deze slide heeft geen instructies

A moet groter of gelijk zijn aan 100.
Welke operator hoort hier?

print( A __ 100 )
A
<=
B
=>
C
>=
D
==

Slide 31 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 => 100 = _____
A
TRUE
B
FALSE
C
fout

Slide 32 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 >= 100 = _____
A
TRUE
B
FALSE
C
fout

Slide 33 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 >= 10 = _____
A
TRUE
B
FALSE
C
fout

Slide 34 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 = 10 = _____
A
TRUE
B
FALSE
C
fout

Slide 35 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 == 10 = _____
A
TRUE
B
FALSE
C
fout

Slide 36 - Quizvraag

Deze slide heeft geen instructies

Wat is de uitkomst?

100 != 10 = _____
A
TRUE
B
FALSE
C
fout

Slide 37 - Quizvraag

Deze slide heeft geen instructies

Booleaanse operatoren 1/4
We hebben gesproken over booleaanse waarden en  over vergelijkingsoperatoren ... maar wat doen we als we verschillende vergelijkingen willen combineren?

Dus bijvoorbeeld of A groter is dan B OF kleiner dan C?

Daarvoor gebruiken we booleaanse operatoren!

Slide 38 - Tekstslide

Deze slide heeft geen instructies

Booleaanse operatoren 2/4
Python kent 3 booleaanse operatoren:
  1. and (WAAR: alle vergelijkingen moeten WAAR zijn *)
  2. or (WAAR: 1 of meer vergelijking moet WAAR zijn *)
  3. not (de vergelijking die volgt keert om:
    ONWAAR wordt WAAR en WAAR wordt ONWAAR)

* anders is het ONWAAR

Slide 39 - Tekstslide

Deze slide heeft geen instructies

Booleaanse operatoren 3/4
"and" : alles moet TRUE zijn, anders FALSE

"or" : een van de vergelijking moet TRUE zijn, anders FALSE

"not" : TRUE wordt FALSE, en FALSE wordt TRUE

Slide 40 - Tekstslide

Deze slide heeft geen instructies

Booleaanse operatoren 4/4
Je kunt meerdere vergelijkingen combineren:
  • a > b and b < c or c == d
  • a < b or ( b == c or b == e )
  • a <= b and ( b == e and c != e )
  • etc.

Slide 41 - Tekstslide

Deze slide heeft geen instructies

A en B moet groter zijn dan 100.
Welke operator hoort hier?

print( A > 100 ____ B > 100 )
A
and
B
or
C
not
D
Fout in vergelijking

Slide 42 - Quizvraag

Deze slide heeft geen instructies

A of B moet groter zijn dan 100.
Welke operator hoort hier?

print( A > 100 ____ B > 100 )
A
and
B
or
C
not
D
Fout in vergelijking

Slide 43 - Quizvraag

Deze slide heeft geen instructies

a = 10
b = 11
c = 12
print(a >= 10 and b != 11)
A
(ಠ︹ಠ)
B
True
C
False
D
Fout in vergelijking

Slide 44 - Quizvraag

Deze slide heeft geen instructies

a = 10
b = 11
c = 12
print( (a >= 10 and b == 11) and c == 12 )
A
¯\_(´ з `)_/¯
B
True
C
False
D
Fout in vergelijking

Slide 45 - Quizvraag

Deze slide heeft geen instructies

Leerdoelen:
Nu kun je:
  • (een beetje) rekenen met datum en tijd
  • uit een datum object in Python het jaar halen
  • het verschil tussen twee data in Python halen
  • een gegeven vergelijkingsoperator toepassen & uitleggen
  • alle booleaanse waarden opnoemen
  • alle booleaanse operatoren opnoemen






Slide 46 - 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 47 - Tekstslide

Deze slide heeft geen instructies