Korte samenvatting

  • Functies zijn als het ware zelfgemaakte blokken code die een bepaalde functie hebben en een gepaste naam.
  • Als je een functie hebt gemaakt, moet je deze nog wel aanroepen om ervoor te zorgen dat deze daadwerkelijk wordt uitgevoerd.
  • Buiten een functie kunnen variabelen binnen een functie niet worden bereikt. Om ervoor te zorgen dat er wel waarden kunnen worden doorgegeven van binnen naar buiten de functie, kun je een bepaalde waarde binnen de functie terug te geven, door middel van return. De teruggegeven waarde zou je buiten de functie kunnen opslaan in een variabele.

Broncode

# Variabele voor het berekende gemiddelde
gemiddelde = 0

# De behaalde cijfers zijn opgeslagen in een array
behaaldeCijfers = [2.4, 5.5, 9.3, 8.4, 6.3, 10.0, 7.0]

# De introductie van het programma
def introduceerProgramma():
    print("In dit programma wordt het geiddelde van klas 2B berekend.\n")

# Het berekenen van het gemiddelde
def berekenGemiddelde():
    somVanCijfers = 0
	
    # De som van alle cijfers wordt efficient berekend
    for cijfer in behaaldeCijfers:
        somVanCijfers += cijfer

    # Het gemiddelde cijfer wordt berekend
    berekendeGemiddelde = somVanCijfers / len(behaaldeCijfers)

    # Het berekende gemiddelde wordt teruggegeven
    return berekendeGemiddelde

# Het kiezen van de juiste output
def kiesJuisteOutput():
    if gemiddelde >= 7.0:
	print("Super, de toets is goed gemaakt! Het gemiddelde is een", gemiddelde)
    elif gemiddelde >= 6.0:
	print("De toets is best aardig gemaakt. Het gemiddelde is een", gemiddelde)
    else:
	print("Helaas, de toets is slecht gemaakt. Het gemiddelde is een", gemiddelde)
		
# De functies worden aangeroepen
introduceerProgramma()

gemiddelde = berekenGemiddelde()

kiesJuisteOutput()

Huiswerk voor deze tutorial

In deze praktische opdracht ga je een programma maken die voor vier personen bepaalt of ze wel of niet geld genoeg hebben om mee te kunnen naar de bioscoop. Om dit programma te maken, ga je alle kennis die je tot nu toe hebt opgedaan gebruiken. De volgende code is al gegeven:

# Het aantal geld wordt toegekend aan de personen
michiel = 20
jan = 15
stephanie = 25
karel = 10

# De namen van de personages worden op volgorde opgeslagen in een array
namen = ["Michiel", "Jan", "Stephanie", "Karel"]

# Het aantal geld van de personages wordt op volgorde opgeslagen in een array
waarde = [michiel, jan, stephanie, karel]

Parameters

Parameters zijn als het ware variabelen die je binnen je functie gebruikt en die bij het aanroepen van de functie worden meegegeven. Als je bijvoorbeeld een functie hebt om iemand welkom te heten en zijn/haar naam te printen, zou je gebruik maken van de volgende parameters:

def introductiePersoon(naam, leeftijd):
    print("Welkom", naam + ".", "Ik kan zien dat je", leeftijd, "jaar bent.")

introductiePersoon("Karel", 12)
introductiePersoon("Nick", 18)

Je maakt in totaal drie functies:

  1. De functie introductieProgramma(), om het programma mee te introduceren.
  2. De functie checkWaarde(), met de parameter persoonWaarde, om te bepalen welke personen mee kunnen en welke niet. Tip: verander in deze functie de waarden van de items in de array waarde naar de nieuwe status, dat wil zeggen “ja” als de persoon wel mee kan en “nee” als de persoon niet mee kan.
  3. De functie zegWieGaat(), met de parameters naam en persoonWaarde, die print welke personen wel en niet gaan.

Tip: gebruik een for loop, in combinatie met de lengte van een van de twee variabelen, om te itereren door beide arrays en gebruik te maken van de functies checkWaarde() en zegWieGaat().

Als je het programma uitvoert, zou het resultaat er als volgt uit moeten zien:

Oplossing huiswerkopdracht

# Het aantal geld wordt toegekend aan de personen
michiel = 20
jan = 15
stephanie = 25
karel = 10

# De namen van de personages worden op volgorde opgeslagen in een array
namen = ["Michiel", "Jan", "Stephanie", "Karel"]

# Het aantal geld van de personages wordt op volgorde opgeslagen in een array
waarde = [michiel, jan, stephanie, karel]

# Het programma wordt geintroduceerd
def introductieProgramma():
    print("In dit programma wordt gecontroleerd wie genoeg geld heeft voor een bioscoopkaartje.")
    print("Een kaartje kost 18 euro.\n")

# Er wordt gecontroleerd of de betreffende persoon mee kan
def checkWaarde(persoonWaarde):
    if persoonWaarde < 18:
	persoonWaarde = "nee"
    else:
	persoonWaarde = "ja"
		
    return persoonWaarde
		
# Er wordt vermeld wie mee kan en wie niet
def zegWieGaat(naam, persoonWaarde):
    if persoonWaarde == "nee":
	print(naam, "gaat niet mee naar de bioscoop. Jammer...")
    else:
	print(naam, "gaat wel mee naar de bioscoop. Top!")

# De introductie wordt aangeroepen
introductieProgramma()

"""
Er wordt door de arrays geitereerd.
Er wordt stuk voor stuk vermeld wie wel mee kan en wie niet
"""
for i in range(len(namen)):
    # Er wordt gecontroleerd of de geselecteerde persoon mee kan
    persoonGaatMee = checkWaarde(waarde[i])
	
    """
    Het aantal geld binnen de array wordt vervangen voor de status van 
	het geselecteerde persoon, dat wil zeggen, of deze mee kan of niet
    """
    waarde[i] = persoonGaatMee
	
    # Er wordt vermeld of het geselecteerde persoon mee kan of niet
    zegWieGaat(namen[i], waarde[i])