In deze oefening leer je hoe je alle mogelijke combinaties maakt met verschillende ingrediënten.
Dit is een veelvoorkomend patroon in programmeren, namelijk het genereren van cartesische producten.
Dit wordt vaak gebruikt in combinatoriek, data-analyse en zelfs in het maken van menu-opties in restaurants!

💻 Programmeeroefening - 🍣 Pokebowl

Stel je voor dat je een pokebowl samenstelt in een restaurant. Je hebt keuze uit:

  • Rijstsoorten: verschillende soorten rijst, zoals witte of bruine rijst.
  • Proteïnes: bijvoorbeeld zalm, tofu of kip.
  • Groenten: zoals avocado, komkommer of wortel.

Schrijf een functie poke(rijst, proteine, groente) die alle mogelijke combinaties teruggeeft.
De functie moet elke combinaties van rijst, proteïne en groente opslaan in een tuple, en vervolgens al deze tuples in een lijst teruggeven.

Voorbeelden

Input 1

print(poke(["witte rijst"], ["zalm", "tofu"], ["avocado", "komkommer"]))

Output 1

[('witte rijst', 'zalm', 'avocado'), ('witte rijst', 'zalm', 'komkommer'), ('witte rijst', 'tofu', 'avocado'), ('witte rijst', 'tofu', 'komkommer')]

Input 2

print(poke(["bruine rijst", "sushirijst"], ["kip"], ["komkommer"]))

Output 2

[('bruine rijst', 'kip', 'komkommer'), ('sushirijst', 'kip', 'komkommer')]

🤔 Waarom is dit belangrijk?

Dit is een typische manier om mogelijke keuzes te berekenen.
Denk aan een webshop waar je verschillende producten kan combineren (bijvoorbeeld een laptop met verschillende accessoires).
Ook in wiskunde en kansberekening wordt deze techniek vaak gebruikt!