Python Cursus. Hoofdstuk 12 - Lists

Uitwerkingen Opgaven


Terug naar de theorie en opgaven over Lists
Terug naar de Afsluitende Opgaven
Terug naar de cursus pagina

Hoofdstuk 12 - Lists

Opgave 12.1.1 Lijst doorlopen met een while loop

getallenLijst = [3, 4, 6, 8]

positie = 0
while positie < len(getallenLijst): #doorloop elk element in lijst
  print (getallenLijst[positie]) #druk element af
  positie +=1 #verhoog positie om volgende element te pakken

Opgave 12.1.2 Lijst doorlopen met een while loop en positieve getallen afdrukken

getallenlijst = [0, -4, 6, 2, -8, 1]

positie = 0
while positie < len(getallenlijst):
	if getallenlijst[positie] >= 0:
		print( getallenlijst[positie] )
	
	positie += 1

Opgave 12.2 Lijst aanpassen in een while loop

cijferLijst = [8.0, 5.5, 2.3, 4.6, 6.1, 5.6]

positie = 0
while positie < len( cijferLijst ):
  nieuwCijfer = cijferLijst[positie] + 1
  cijferLijst[positie] = nieuwCijfer
  positie += 1

print( cijferLijst )
OF
cijferLijst = [8.0, 5.5, 2.3, 4.6, 6.1, 5.6]

positie = 0
while positie < len( cijferLijst ):
  cijferLijst[positie] += 1
  positie += 1

print( cijferLijst )

Opgave 12.3 Lists en operatoren

  1. Plakt twee lijsten achter elkaar en slaat die op in fruit_lijst
  2. Plakt twee lijsten achter elkaar en slaat die op in klassen_lijst
  3. Maakt een lijst aan met 10 nullen en slaat die op in numlist
  4. Voegt element "kers" toe achteraan lijst
  5. Voegt element "peer" toe achteraan lijst

12.4 List methodes

alfabet = ["a","b","c","d","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
print( alfabet )
alfabet.insert( 4, "e" )
print( alfabet )

Opgave 12.4.2 Verwijder uit een lijst met remove

cijferlijst = [9, 8, 6, 4, 7, 8]

cijferlijst.remove( 4 )
print( cijferlijst )

Opgave 12.4.5 Zoek positie op met index

cijferlijst = [9, 8, 6, 4, 7, 8]

positie = cijferlijst.index(4)
print( positie )

Opgave 12.4.6 Aantallen tellen met count()

vervoer = ["lopend", "fiets", "auto", "fiets", "auto", "lopend", "fiets", "lopend", "fiets"]
print( "met de auto:", vervoer.count( "auto" ) )
print( "met de fiets:", vervoer.count( "fiets" ) )
print( "lopend:", vervoer.count( "lopend" ) )

Opgave 12.4.7 Lijst sorteren met sort()

namenLijst = ["Piet", "Klaas", "Jip", "Heleen", "Luna", "Jan"]
namenLijst.sort()
print( namenLijst )

Opgave 12.4.8 Omgekeerde volgorde met reverse()

getallenLijst = [314, 315, -12, 246, 10, 999]
getallenLijst.reverse()
print( getallenLijst )

Opgave 12.4.9 Ingevoerde waarden op alfabetische volgorde

naamLijst = [] #lijst voor het bijhouden van namen

naam = "" #maak een lege String
while not naam == "klaar":
    naam = input("Geef de naam van een vriend of vriendin (of typ `klaar`): ")
    naamLijst += [naam] #voeg ingevoerde naam toe aan lijst


naamLijst.sort() #sorteer lijst op alfabetische volgorde
print( naamLijst )

naamLijst.reverse()#sorteer lijst op aflopende alf. volgorde
print( naamLijst )
of
naamLijst = [] #lijst voor het bijhouden van namen

naam = input("Geef de naam van een vriend of vriendin (of typ `klaar`): ")

while not naam == "klaar":
    naamLijst += [naam]
    naam = input("Geef de naam van een vriend of vriendin (of typ `klaar`): ")


naamLijst.sort() #sorteer lijst op alfabetische volgorde
print( naamLijst )

naamLijst.reverse()#sorteer lijst op aflopende alf. volgorde
print( naamLijst )

Opgave 12.4.10 Kleuren Spirograaf

import random
import turtle

kleurenLijst = ["red", "blue", "green", "yellow"]

turtle.pendown()
turtle.speed(100) # even wat sneller laten gaan

for i in range(100): #teken een spirograaf met 100 zijden
	willekeurig_kleur = random.choice( kleurenLijst ) #kies telkens opnieuw een nieuwe willekeurige kleur
	turtle.pencolor(willekeurig_kleur) #geef die kleur aan de pen
	turtle.forward(100) 
	turtle.right(65)

turtle.done()

Afsluitende Opgaven

Afsluitende opgave 12.1.A Vat samen

Het doel van het programma is om de kleinste waarde van een (niet lege) lijst te bepalen (en deze af te drukken).

Afsluitende opgave 12.1 Magic 8-ball

import random

antwoord = [ "Dat is zeker", "Het is zeker zo", "Zonder twijfel",
"Ja, zeker", "Je kunt erop vertrouwen", "Zoals ik het zie, ja",
"Waarschijnlijk", "Ziet er goed uit", "Ja", "Lijkt van wel",
"Vaag, probeer het nog eens", "Vraag later nog eens", "Kan ik \
beter niet zeggen", "Kan ik nu niet voorspellen", "Concentreer \
je en vraag nog eens", "Reken er maar niet op", "Ik zeg van \
niet", "Mijn bronnen zeggen van niet", "Lijkt er niet op",
"Zeer twijfelachtig" ]

input( "Stel je vraag aan de magische bol: " )
print( "De magische bol zegt:", random.choice( antwoord ) )

Afsluitende opgave 12.6 Staafdiagram (met while-loop)

getallen_lijst = [4,8,5]

positie = 0
while positie < len(lijst):  #doorloop alle waardes uit de lijst
        aantal_sterren = lijst[positie]
        print ("*" * aantal_sterren ) #en print voor elke waarde het bijbehorende aantal *
        positie += 1
of met gebruik van functies
#FUNCTIE DEFINITIE
#functie om de staafdiagrammen af te drukken
def staafdiagramAfdrukken( lijst ):
    positie = 0
    while positie < len(lijst):  #doorloop alle waardes uit de lijst
        aantal_sterren = lijst[positie]
        print ("*" * aantal_sterren ) #en print voor elke waarde het bijbehorende aantal *
        positie += 1

#HOOFD PROGRAMMA
getallen_lijst = [4,8,5]

staafdiagramAfdrukken( getallen_lijst ) #getallen_lijst = [4,8,5]

Afsluitende opgave 12.7 Ingevoerde waarden toevoegen (met while-loop)

kleuren_lijst=[]
kleuren_teller = 0

while kleuren_teller < 3:
  lievelings_kleur = input ("Geef een van je lievelingskleuren op: ")
  kleuren_lijst.append (lievelings_kleur)
  kleuren_teller +=1

print(kleuren_lijst)

Afsluitende opgave 12.8 Woorden raden (met while-loop)

woorden_lijst = ["fiets", "huis"]

spel_is_afgelopen = False
while not spel_is_afgelopen:
  gok = input( "Doe een gok:" )
  if gok in woorden_lijst:
    woorden_lijst.remove(gok)
    #print(woorden_lijst)  #druk af om te testen
  else:
    spel_is_afgelopen = True
    print("Spel is afgelopen")

Afsluitende opgave 12.9 Getal raden (met while-loop)

import random
geheim_lijst = [] #maak een lege lijst aan om het geheime getal in te zetten

geheim_getal = random.randint(0,10) #bepaal een geheime getal
geheim_lijst.append(geheim_getal)  #voeg geheime getal toe aan lijst

spel_is_afgelopen = False

while not spel_is_afgelopen:
  invoer = input( "Doe een gok:" )
  gok = int ( invoer )  #zet gok om in een getal

  if gok in geheim_lijst: #controleer of gok in geheim_lijst voorkomt
    spel_is_afgelopen = True
    print("Spel is afgelopen")

  else:
    geheim_lijst.append(gok)
    print(geheim_lijst)  #druk af om te testen
  

Alleen VWO: Afsluitende opgave 12.10 Sponsorloop (met while-loop en functies) (met while-loop)

sponsor_bedragen_lijst = []

def klaarMetGeldOphalen():
  totaal = sum(sponsor_bedragen_lijst)
  print("totaal is:", totaal)
  aantal_sponsoren = len(sponsor_bedragen_lijst)
  print("aantal sponsoren is:", aantal_sponsoren)

  if (totaal >= 20 or aantal_sponsoren == 5):
      return True
  else:
      return False

while not klaarMetGeldOphalen():
  invoer = input("Voor hoeveel ga je me sponsoren?")
  bedrag = float ( invoer )
  sponsor_bedragen_lijst.append(bedrag)


print("Je hebt voldoende sponsorgeld binnen!")

Terug naar de theorie en opgaven over Lists
Terug naar de cursus pagina