programmeren

in python

Les 7: geneste lijsten

vandaag gaan we:

 

  • De code mooier maken met geneste lijsten

Thema module 3

GEschiedenis!

Vorige les heb jij naast vragen en antwoorden, nog en lijst erbij gezet: hints.

hint erbij

Vorige les heb jij naast vragen en antwoorden, nog en lijst erbij gezet: hints.

hint erbij

vragen = ['Wanneer werd Suriname onafhankelijk van Nederland?', 'Wie was er president toen de Amerikaanse burgeroorlog eindigde?','In welk jaar vond het Beleg van Leiden plaats?']
antwoorden = ['1975', 'Lincoln', '1574']
hints = ['Was was in de jaren 70.', 'Het is ook een soort auto.', 'De getallen van het jaartal zijn opgeteld 17.']

Vorige les heb jij naast vragen en antwoorden, nog en lijst erbij gezet: hints. Misschien kwam je ook nog aan een 4e lijst toe.

hint erbij

vragen = ['Wanneer werd Suriname onafhankelijk van Nederland?', 'Wie was er president toen de Amerikaanse burgeroorlog eindigde?','In welk jaar vond het Beleg van Leiden plaats?']
antwoorden = ['1975', 'Lincoln', '1574']
hints = ['Was was in de jaren 70.', 'Het is ook een soort auto.', 'De getallen van het jaartal zijn opgeteld 17.']
themas = ['Nederlandse koloniën', 'Amerika', 'Tachtigjarige Oorlog']

Door al die lijsten moet je wel veel werk doen, bijv uit alle lijsten steeds een vraag en antwoord en hint en thema kiezen.

hint erbij

hint erbij

  gekozen_vraag = vragen[gekozen_nummer]
  goede_antwoord = antwoorden[gekozen_nummer]
  hint = hints[gekozen_nummer]
  thema = themas[gekozen_nummer]

Door al die lijsten moet je wel veel werk doen, bijv uit alle lijsten steeds een vraag en antwoord en hint en thema kiezen.

hint erbij

Door al die lijsten moet je wel veel werk doen, je moet ook uit alle lijsten een vraag en antwoord en hint en thema verwijderen.

hint erbij

    vragen.remove(gekozen_vraag)
    antwoorden.remove(goede_antwoord)
    hints.remove(hint)
    themas.remove(thema)

Door al die lijsten moet je wel veel werk doen, je moet ook uit alle lijsten een vraag en antwoord en hint en thema verwijderen.

lijsten van lijsten

Dat moet eigenlijk makkelijker kunnen, vind je niet? Gelukkig kan dat ook, met lijsten van lijsten.

lijsten van lijsten

Dat moet eigenlijk makkelijker kunnen, vind je niet? Gelukkig kan dat ook, met lijsten van lijsten.

 

Tot nu toe hebben we lijsten gezien met getallen erin, of met woorden.

lijsten van lijsten

Dat moet eigenlijk makkelijker kunnen, vind je niet? Gelukkig kan dat ook, met lijsten van lijsten.

 

Tot nu toe hebben we lijsten gezien met getallen erin, of met woorden.

dobbelsteen = [1, 2, 3, 4, 5, 6]

Lijst met getallen

lijsten van lijsten

Dat moet eigenlijk makkelijker kunnen, vind je niet? Gelukkig kan dat ook, met lijsten van lijsten.

 

Tot nu toe hebben we lijsten gezien met getallen erin, of met woorden.

antwoorden = ['1975', 'Lincoln', '1574']

Lijst met woorden

lijsten van lijsten

Maar in een lijst kan ook... weer een lijst zitten!

weekdagen = [
  ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag'],
  ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
] 

lijsten van lijsten

Maar in een lijst kan ook... weer een lijst zitten!

weekdagen = [
  ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag'],
  ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
] 

Lijst met lijsten

lijsten van lijsten

Maar in een lijst kan ook... weer een lijst zitten!

weekdagen = [
  ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag'],
  ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
] 

In deze lijst zitten 2 elementen, en dat zijn zelf weer lijsten.

lijsten van lijsten

Maar in een lijst kan ook... weer een lijst zitten!

weekdagen = [
  ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag'],
  ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
] 

In deze lijst zitten 2 elementen, en dat zijn zelf weer lijsten.

nederlands = weekdagen[0]
engels = weekdagen[1]

lijsten van lijsten

Maar in een lijst kan ook... weer een lijst zitten!

weekdagen = [
  ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag'],
  ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
] 

In deze lijst zitten 2 elementen, en dat zijn zelf weer lijsten.

nederlands = weekdagen[0]
engels = weekdagen[1]

nederlands is zelf een lijst

demo

lijsten van lijsten

Dus in een lijst kan ook... weer een lijst zitten!

lijsten van lijsten

Dus in een lijst kan ook... weer een lijst zitten!

Dat kunnen we gebruiken om de code van de quiz beter te maken.

lijsten van lijsten

Dus in een lijst kan ook... weer een lijst zitten!

Dat kunnen we gebruiken om de code van de quiz beter te maken:

  • In plaats van 4 lijsten maken we nu 1 lijst.
  • In iedere binnenste lijst komt achter elkaar: vraag, antwoord, hint, thema.

lijsten van lijsten

Dus in een lijst kan ook... weer een lijst zitten!

Dat kunnen we gebruiken om de code van de quiz beter te maken:

  • In plaats van 4 lijsten maken we nu 1 lijst.
  • In iedere binnenste lijst komt achter elkaar: vraag, antwoord, hint, thema.
vragen = [
  ['Wanneer werd Suriname onafhankelijk van Nederland?', '1975','Was was in de jaren 70.','Nederlandse koloniën'],
  ['Wie was er president toen de Amerikaanse burgeroorlog eindigde?', 'Lincoln', 'Het is ook een soort auto.', 'Amerika'],
  ['In welk jaar vond het Beleg van Leiden plaats?', '1574','De getallen van het jaartal zijn opgeteld 17.','Tachtigjarige Oorlog']
]

demo

Je code aanpassen

De 'vraag' die je nu uit de lijst haalt, is een lijst met 4 elementen, bijvoorbeeld:

['Wie was er president toen de Amerikaanse burgeroorlog eindigde?', 'Lincol
n', 'Het is ook een soort auto.', 'Amerika']

Je code aanpassen

De 'vraag' die je nu uit de lijst haalt, is een lijst met 4 elementen, bijvoorbeeld:

['Wie was er president toen de Amerikaanse burgeroorlog eindigde?', 'Lincol
n', 'Het is ook een soort auto.', 'Amerika']

element 0 is de vraag zelf

Je code aanpassen

In je code moet je dat dus aanpassen. Waar je eerst gekozen_vraag had, moet je nu gekozen_vraag[0] gebruiken.

element 0 is de vraag zelf

['Wie was er president toen de Amerikaanse burgeroorlog eindigde?', 'Lincol
n', 'Het is ook een soort auto.', 'Amerika']

demo

Maak jij de code af?

Maak nu je eigen code ook zoals dit voorbeeld. Dus:

 

  1. Vragen, antwoorden, hints en themas in 1 lijst
  2. Uit die lijst een willekeurig element halen
  3. Uit dat willekeurig element, dat zelf een lijst is, de vraag, het antwoord en de hint en het thema halen
  4. Gebruik die zoals je al deed:
    1. vraag en thema printen
    2. vragen om antwoord met input()
    3. antwoord vergelijke met goede antwoord
    4. hint geven bij een fout antwoord

Maak jij de code af?

Maak nu je eigen code ook zoals dit voorbeeld. Dus:

 

Ook het remove kan nu makkelijker, want je kan nu in 1 keer alle elementen verwijderen!

Maak jij de code af?

Maak nu je eigen code ook zoals dit voorbeeld. Dus:

 

Ook het remove kan nu makkelijker, want je kan nu in 1 keer alle elementen verwijderen!

  if antwoord == gekozen_vraag[1]:
    print('Goedzo!')
    punten = punten + 1
    
    vragen.remove(gekozen_vraag)

Maak jij de code af?

Maak nu je eigen code ook zoals dit voorbeeld. Dus:

 

Ook het remove kan nu makkelijker, want je kan nu in 1 keer alle elementen verwijderen!

  if antwoord == gekozen_vraag[1]:
    print('Goedzo!')
    punten = punten + 1
    
    vragen.remove(gekozen_vraag)

verwijderen kan nu met 1 regel

demo

demo

zodadelijk op de computer...

opdrachten deel b

opdrachten deel b

Python in de klas - Module 3 - Les 7

By Felienne

Python in de klas - Module 3 - Les 7

Module Geschiedenis, les 7a. Leerdoel: geneste lijsten

  • 859