PROG0070 - Adding fruit
Preparation
Verify how Python reacts if you consecutively execute the following instructions in an interactive Python session:
-
>>> d = {'apples': 15, 'bananas': 35, 'grapes': 12} >>> d['banana']
-
>>> d['oranges'] = 20 >>> len(d)
-
>>> 'grapes' in d
-
>>> d['pears']
-
>>> d.get('pears', 0)
-
>>> fruit = d.keys() >>> fruit.sort() >>> print(fruit)
-
>>> del d['apples'] >>> 'apples' in d
Make sure you understand why the different results are generated.
Assignment
Apply what you have just learned to complete the body of the function below. Your implementation must endure the doctest given.
def add_fruit(basket, fruit, amount=0): """ Add a certain amount of fruit to the basket. >>> new_basket = {} >>> add_fruit(new_basket, 'strawberries', 10) >>> 'strawberries' in new_basket True >>> new_basket['strawberries'] 10 >>> add_fruit(new_basket, 'strawberries', 25) >>> new_basket['strawberries'] 35 """
Voorbereiding
Ga na hoe Python reageert als je achtereenvolgens de volgende instructies uitvoert binnen een interactieve Python sessie:
-
>>> d = {'appels': 15, 'bananen': 35, 'druiven': 12} >>> d['banaan']
-
>>> d['appelsienen'] = 20 >>> len(d)
-
>>> 'druiven' in d
-
>>> d['peren']
-
>>> d.get('peren', 0)
-
>>> vruchten = d.keys() >>> vruchten.sort() >>> print(vruchten)
-
>>> del d['appels'] >>> 'appels' in d
Zorg er zeker voor dat je begrijpt waarom de verschillende resultaten gegeneerd worden.
Opgave
Pas hetgeen je net geleerd hebt toe om de body van onderstaande functie aan te vullen. Je implementatie moet de gegeven doctest doorstaan.
def vrucht_toevoegen(mandje, vrucht, hoeveelheid=0): """ Voegt een bepaalde hoeveelheid van een vrucht toe aan een mandje. >>> nieuw_mandje = {} >>> vrucht_toevoegen(nieuw_mandje, 'aardbeien', 10) >>> 'aardbeien' in nieuw_mandje True >>> nieuw_mandje['aardbeien'] 10 >>> vrucht_toevoegen(nieuw_mandje, 'aardbeien', 25) >>> nieuw_mandje['aardbeien'] 35 """
Added by: | Peter Dawyndt |
Date: | 2011-07-29 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |