Ondanks het feit dat schapen en geiten sterk op elkaar lijken en met elkaar kunnen gekruist worden, behoren ze tot verschillende geslachten binnen de subfamilie van de Caprinae11 van de familie Bovidae22. Geiten behoren tot het geslacht Capra33 en bezitten 60 chromosomen, terwijl schapen tot het geslacht Ovis44 behoren en maar 54 chromosomen hebben. Door dit verschil in chromosomen zal een paring tussen een schaap en een geit in de meeste gevallen tot een doodgeboren nageslacht leiden. Praktijkvoorbeelden suggereren echter dat een nakomeling levensvatbaar kan zijn, hoewel het zonder DNA-onderzoek niet uit te sluiten is of het een chimaera betreft.

Het jong van een vrouwtjesschaap (ooi) en een geitenbok noemt men een gaap. Het jong van een geitenvrouwtje (sik) en een mannetjesschaap (ram) noemt men scheit. Beide combinaties leken onvruchtbaar, maar op 29 december 2012 werden in Nederland twee lammetjes geboren uit een bevruchting door een gaap. Analoog noemt men de kruising van een mannetjesleeuw (Panthera leo) met een tijgerin (Panthera tigris) een lijger. Een lijger heeft dus ouders van verschillende soorten uit hetzelfde genus.

koppel lijgers
Een koppel lijgers in het Everland Amusement Park in Zuid-Korea, met links het vrouwtje en rechts het mannetje.
Een koppel lijgers in het Everland Amusement Park in Zuid-Korea, met links het vrouwtje en rechts het mannetje.

Opgave

In deze opgave schrijven we twee functies die helpen om namen te verzinnen voor het nageslacht na kruising van twee soorten. Gevraagd wordt:

Je mag voor beide functies veronderstellen dat de woorden beginnen met een medeklinker.

Vul zelf de type hinting toe!

Tips

Ik vind het juiste type niet voor de parameters van deze functie.
def splitsing(woord:str) -> tuple
def kruising(woord1: str, woord2:str) -> tuple
Hoe zoek ik de plaats van de splitsing?
  • Gebruik een while lus met een "teller" die de letters van het woord overloopt tot je een klinker vindt.
  • De lus stopt als een klinker gevonden wordt. De waarde van de "teller" is de positie van de eerste klinker.
Mag ik veronderstellen dat er altijd één klinker in het woord voorkomt?
  • Ja, in deze oefening mag dat!
  • Indien je hier veilig wil spelen voeg dan bij de while een extra voorwaarde toe: teller < len(woord)
Hoe kan ik eenvoudig opsplitsen als ik de plaats gevonden heb? Gebruik twee slices.
Moet ik de functie splitsing gebruiken voor de functie kruising?
  • Uiteraard! Als je de code van de functie gewoon kopiëert dan heb je nog niet begrepen waarom een functie zinvol is.
  • Bovendien moet je de code voor de splitsing anders twee keer schrijven. Duplicated code wordt altijd fout gerekend!

Bronnen