programmeren

in python

Jaar 3 - Module 3 - Les 1: Dictionaries

De komende weken gaan we...

 

  • Leren wat dictionaries zijn

De komende weken gaan we...

 

  • Leren wat dictionaries zijn

  • Leren hoe we csv-bestanden lezen en schrijven

De komende weken gaan we...

 

  • Leren wat dictionaries zijn

  • Leren hoe we csv-bestanden lezen en schrijven

  • Een woordjesoefenapp maken

Vandaag gaan we...

 

  • Leren wat dictionaries zijn

Vandaag gaan we...

 

  • Leren wat dictionaries zijn

  • Leren hoe we csv-bestanden lezen

Dit programma gebruikt een lijst.

Lijsten (herhaling)

In een lijst halen we een element op met een numerieke index, oftewel, een getal.

 

 

dieren = ['schildpad', 'kikker']
print(dieren[0])

Dit programma gebruikt een lijst.

Lijsten (herhaling)

In een lijst halen we een element op met een numerieke index, oftewel, een getal.

 

Bij een lange lijst is dat niet zo handig.

 

 

dieren = ['schildpad', 'kikker', 'hagedis', 'blobvis', 'hinde', ...]
print(dieren[15])

Dit programma gebruikt een lijst.

Lijsten (herhaling)

In een lijst halen we een element op met een numerieke index, oftewel, een getal.

 

Bij een lange lijst is dat niet zo handig. Als we veel dingen van verschillende soorten opslaan, gebruiken we liever een dictionary.

 

 

dieren = ['schildpad', 'kikker', 'hagedis', 'blobvis', 'hinde', ...]
print(dieren[15])

Dit programma gebruikt een dictionary.

 

 

Dictionaries

Dit programma gebruikt een dictionary.

 

 

Dictionaries

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Aanwijzen lijkt op aanwijzen bij een lijst, maar met een naam ipv een getal

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Aanwijzen lijkt op aanwijzen bij een lijst, maar met een naam ipv een getal

De naam is een string dus aanhalingstekens zijn nodig

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

Dus ook hier aanhalingstekens!

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

Na het veld komt een dubbele punt

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

Na het veld komt een dubbele punt

Dan komt de waarde, dan ieder Python type zijn

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

Na het veld komt een dubbele punt

Dan komt de waarde, dan ieder Python type zijn

Een string mag

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

Na het veld komt een dubbele punt

Dan komt de waarde, dan ieder Python type zijn

Een getal mag ook!

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

demo

goed of fout?

gebruiker = {
  voornaam: 'Piet',
  achternaam: 'de Vries',
  geboortejaar: 2000
}

print(gebruiker['voornaam'])
  • Is de code goed -> schrijf wat de code print
  • Is de code fout? -> schrijf FOUT

goed of fout?

'gebruiker' = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print('gebruiker'['voornaam'])
  • Is de code goed -> schrijf wat de code print
  • Is de code fout? -> schrijf FOUT

goed of fout?

adres_blaak = {
  'straat': 'Blaak',
  'nummer': 166
}

gebruiker = {
  'voornaam': 'Carl',
  'achternaam': 'Johnsons',
  'adres': adres_blaak
}

print(gebruiker['voornaam'])
  • Is de code goed -> schrijf wat de code print
  • Is de code fout? -> schrijf FOUT

goed of fout?

adres_blaak = {
  'straat': 'Blaak',
  'nummer': 166
}

gebruiker = {
  'voornaam': 'Carl',
  'achternaam': 'Johnsons',
  'adres': adres_blaak
}

print(gebruiker['adres']['straat'])
  • Is de code goed -> schrijf wat de code print
  • Is de code fout? -> schrijf FOUT

Dit programma gebruikt een dictionary.

 

 

gebruiker = {
  'voornaam': 'Piet',
  'achternaam': 'de Vries',
  'geboortejaar': 2000
}

print(gebruiker['voornaam'])

Dictionaries

Instellen gaat anders dan bij een lijst

Ieder veld of field krijgt een naam, altijd een string

opdrachten

  • Doe nu opdracht 1 en 2 via deze link:

    https://felienne.gitbook.io/python-in-de-klas/module-3.3-woordenoefenapp/les-1/les-1b

 

 

 

 

 

Als je werkt met data, is dat vaak met een csv bestand.

 

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

csv bestanden kun je openen in Excel.

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

Maar, csv bestanden kan je ook bekijken op replit.

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

Maar, csv bestanden kan je ook bekijken op replit.

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

Maar, csv bestanden kan je ook bekijken op replit.

Het ziet er anders uit dan in Excel, maar de data is hetzelfde.

csv bestanden inlezen

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

Maar, csv bestanden kan je ook bekijken op replit.

csv bestanden inlezen

gescheiden (separated) door komma's

Als je werkt met data, is dat vaak met een csv bestand.

csv = comma separated values

 

Maar, csv bestanden kan je ook bekijken op replit.

csv bestanden inlezen

"headers"

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

Laad de code in om csv's te openen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Open het bestand en sla de inhoud op in de variabele cvsfile

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Let op!

Na de open() moet je inspringen

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Stop de inhoud van het bestand in een DictReader

Met een beetje Python kunnen we een csv opslaan in een variabele om er verder mee te werken!

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

Stop de inhoud van het bestand in een DictReader

Die bestaat uit:

dictionaries!

demo

We hebben gezien dat deze code een lijst van dictionaries geeft:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

We hebben gezien dat deze code een lijst van dictionaries geeft:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

We hebben gezien dat deze code een lijst van dictionaries geeft:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

We hebben gezien dat deze code een lijst van dictionaries geeft:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

We hebben gezien dat deze code een lijst van dictionaries geeft:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print(rij)

De bovenste regel vertelt wat de keys

in de dictionaries zijn

demo

Nu we een lijst van dictionaries hebben, kunnen we ook individuele kolommen opvragen:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print('Vraag', rij['Nummer'], 'is', rij['Vraag'])

Nu we een lijst van dictionaries hebben, kunnen we ook individuele kolommen opvragen:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print('Vraag', rij['Nummer'], 'is', rij['Vraag'])

We krijgen nu van alle rijen alleen het nummer en de vraag in beeld

demo

Let goed op, een typfoutje in de naam en je krijgt een keyError:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print('Vraag', rij['nummer'], 'is', rij['Vraag'])

Let goed op, een typfoutje in de naam en je krijgt een keyError:

csv bestanden inlezen

import csv

with open('quiz.csv') as csvfile:
  woordlijst = csv.DictReader(csvfile)      
  for rij in woordlijst:
    print('Vraag', rij['nummer'], 'is', rij['Vraag'])

nummer is niet hetzelfde als Nummer!

demo

opdrachten

  • Maak nu opdracht 3 en 4 hier:

    https://felienne.gitbook.io/python-in-de-klas/module-3.3-woordenoefenapp/les-1/les-1b

 

 

 

 

 

Klas 3 - Module 1 - Les 1

By Felienne

Klas 3 - Module 1 - Les 1

Leerdoel Module: Woordjesoefenapp maken Lesdoel: Begin dictionaries.

  • 216