Basis#

Opdracht 1#

Schrijf de functie tpl(x) die een getal als argument accepteert en drie keer de waarde van dat argument teruggeeft.

def tpl(x):
    """Geeft driemaal het argument terug

    :param x: De waarde om te verdrievoudigen
    :type x: int, float of string
    :rtype: int, float of string
    """
    return 3 * x

We hebben besloten de docstring van meer informatie te voorzien voor nog meer duidelijkheid.

Aangezien het een simpele taak is die de functie moet doen, kan de berekening gelijk in de return gezet worden.

Opdracht 2a#

Schrijf de functie min_two(a, b) die twee getallen als argument accepteert en de kleinste waarde teruggeeft.

def min_two(a, b):
    """ Geeft de laagste van de twee parameters terug

    :param a, b: de twee waarden waarvan de laagste terug moet worden gegeven
    :type a, b: int
    :rtype: int
    """
    if a < b:
        return a
    elif b < a:
        return b
    else:
        return "Beide getallen zijn even groot!"

In de opdracht werd niet gezegd dat we er van uit mogen gaan dat de twee getallen niet hetzelfde kunnen zijn.

Daarom controleert de functie zowel of a kleiner is en of b kleiner is. Als geen van beide kleiner zijn dan zullen de argumenten even groot zijn.

Opdracht 2b#

Schrijf de functie min_three(a, b, c) die drie getallen als argument accepteert en de kleinste waarde teruggeeft.

def min_three(a, b, c):
    """ Geeft de laagste van de drie parameters terug

    :param a, b, c: de twee waarden waarvan de laagste terug moet worden gegeven
    :type a, b, c: int
    :rtype: int
    """
    if a < b and a < c:
        return a
    elif b < a and b < c:
        return b
    elif c < a and c < b:
        return c
    else:
        return "Er zijn getallen die even groot zijn!"

In de opdracht werd niet gezegd dat we er van uit mogen gaan dat de twee getallen niet hetzelfde kunnen zijn.

Daarom controleert de functie zowel of elke variable kleiner is dan de andere twee met de ‘and’ in de if statements.

Als geen van de drie argumenten kleiner zijn dan de andere dan zullen er twee hetzelfde zijn of alle zelfs alle drie.

Opdracht 3#

Schrijf de functie absolute(x,y) dat twee getallen accepteert en de afstand berekent tussen de twee getallen.

def absolute(x, y):
    """ Geeft de afstand tussen de twee parameters terug

    :param x, y: de twee waarden waarvan de afstand terug moet worden gegeven
    :type a, b, c: int
    :rtype: int
    """
    if x >= 0 and y >= 0:
        if x > y:
            # Bij twee positieve getallen dan krijg je de afstand
            # door het kleinste getal van de grote te trekken.
            return x - y
        else: # y is groter
            return y - x
    elif x < 0 and y >= 0:
        # y is groter dan de negatieve x.
        # Omdat x negatief is, is de afstand y plus de positieve versie van x.
        return y + (x * -1)
    elif x >= 0 and y < 0:
        # Nu is y negatief
        return x + (y * -1)
    else:
        # Beide getallen zijn negatief.
        # Vindt het kleinste getal.
        if x < y:
            # De afstand is altijd positief.
            # We corrigeren door het kleinste getal positief te maken
            # en het kleinste getal negatief te houden.
            return (x * -1) + y # Plus een negatief getal wordt een aftrek som
        else:
            return (y * -1) + x

Als beide getallen positief zijn dan hoeft alleen de laagste van de hoogste af getrokken te worden.

Als een van beide getallen negatief is dan is het andere getal automatisch het grotere getal. Om dan de juiste waarde te krijgen moet de positieve versie van het negatieve getal opgeteld worden bij het al positieve getal.

Als beide getallen negatief zijn dan kunnen we de positieve versie van het kleinste getal nemen en het andere getal daarvan aftrekken.

We maken hiervoor gebruik van het feit dat in Python wanneer je een negatief getal ergens bij optelt het een aftrek operatie wordt.