Bekijken we de eerste twee deelproblemen. In beide gevallen gaan we het oppervlak van een rechthoek berekenen. Het enige verschil is dat we het resultaat in verschillende variabelen bewaren.
We gaan onze functie aanpassen zodat deze voor beide oppervlaktes kan dienen.
We gaan aan eerst de naam van onze functie algemener maken: opp_vloer( ) wordt oppervlakte().
We gaan ook de prompt van de input()-functies aanpassen zodat deze zowel kan gebruikt worden voor het oppervlakte van een vloer als het oppervlakte van een tegel.
def oppervlakte():
l = float(input(" Lengte: "))
b = float(input(" Breedte: "))
A = l * b
return A
# Hoofdprogramma
print("Geef afmetingen van de vloer: ")
A_vloer = oppervlakte()
print("Geef afmetingen van een tegel: ")
A_tegel = oppervlakte()
Het hoofprogramma kan informatie doorgeven aan de functie door parameters tussen de haakjes te plaatsen.
functienaam(parameter 1, parameter 2,....)
Bij de definitie van de functie kan je variabelen tussen de haakjes na de functienaam plaatsen.
def functienaam(variabele 1, variabele 2,...):
De waarden die aan deze variabelen toegewezen worden, komen overeen met de parameters die bij de functieaanroep worden meegegeven.
Enkele mogelijk combinaties kan je terugvinden in onderstaande code:
def voorbeeld(eerste_parameter, tweede_parameter):
print("De waarde van de eerste parameter is:", eerste_parameter)
print("De waarde van de tweede parameter is: ", tweede_parameter)
# Hoofdprogramma
print("Voorbeeld 1: eerste parameter is tekst, tweede is een getal")
voorbeeld("UHasselt",12)
print()
print("Voorbeeld 2: eerste parameter is een getal, tweede is tekst")
voorbeeld(25,"Informaticawetenschappen")
print()
print("Voorbeeld 3: De eerste parameter is het getal 5, de tweede getal 3")
voorbeeld(5,3)
Dit kunnen we ook gebruiken om aan de functie te laten weten of het gaat over het oppervlakte van een tegel of van de vloer.
def oppervlakte(naam):
.....
Is de aanroep
A_vloer = oppervlakte("vloer")
dan zal de variabele naam de waarde "vloer" krijgen.
Is de aanroep
A_tegel = oppervlakte("tegel")
dan zal de variabele naam de waarde "tegel" krijgen.
We gaan deze variabele moeten invoegen in de tekst van onze prompt. Dit kan niet onmiddellijk tussen de haakjes van de input()-functie maar moet op voorhand gebeuren. We maken bijvoorbeeld een variabele tekst aan die tekst van de prompt bevat.
Bijvoorbeeld:
tekst= "Lengte van de "+naam+": "
en
tekst = "Breedte van de "+naam+": "
We krijgen zo onderstaande code:
def oppervlakte(naam):
tekst = "Lengte van de "+naam+": "
l = float(input(tekst))
tekst = "Breedte van de "+naam+": "
b = float(input(tekst))
A = l * b
return A
# Hoofdprogramma
A_vloer = oppervlakte("vloer")
A_tegel = oppervlakte("tegel")