Drop links or images here to add them to the editor.

Voer de onderstaande code uit:

### FUNCTIEDEFINITIE
def oppervlakte_van_driehoek(basis, hoogte):
    opp = 0.5 * basis * hoogte
    print("Een driehoek met basis", basis, "en hoogte", hoogte,
          "heeft een oppervlakte van", opp)

### HOOFDPROGRAMMA
berekende_oppervlakte = oppervlakte_van_driehoek(5, 4)
print("De berekende oppervlakte is:", berekende_oppervlakte)

a. Wat is er fout?
b. Waar komt None vandaan?
c. Los het probleem op.

Antwoord

a. De functie oppervlakte_van_driehoek() print het resultaat, maar retourneert niets. Daardoor is de retourwaarde None.

b. None is de standaard retourwaarde van een functie die geen return heeft. Omdat berekende_oppervlakte = oppervlakte_van_driehoek(5, 4) wordt berekende_oppervlakte gelijk aan None.

c. Vervang print(...) in de functie door return opp:

def oppervlakte_van_driehoek(basis, hoogte):
    opp = 0.5 * basis * hoogte
    return opp

berekende_oppervlakte = oppervlakte_van_driehoek(5, 4)
print("De berekende oppervlakte is:", berekende_oppervlakte)