Stel je een nieuw data type voor. Dit nieuwe
data type noem ik de inttuple
. Een inttuple
is gedefinieerd als
zijnde ofwel een integer, ofwel een tuple die inttuple
s als waardes
bevat. Je ziet een voorbeeld van een inttuple
hieronder.
>>> inttuple = (1, 2, (3, 4), 5, ((6, 7, 8, (9, 10), 11), 12, 13), ((14, 15, 16), (17, 18, 19, 20)))
Schrijf een functie afvlakken
waaraan een inttuple
moet doorgegeven worden. De functie moet een tuple
teruggeven die alle integer waardes bevat die in een inttuple
zijn opgeslagen.
Tip
Omdat de
inttuple
recursief is gedefinieerd, is een recursieve functie waarschijnlijk de beste aanpak. Als je hoofdstuk 101 hebt overgeslagen, kun je waarschijnlijk deze opdracht beter ook overslaan. Als je hem wel maakt, dan kun je deisinstance()
functie (uitgelegd in hoofdstuk 92) gebruiken om te bepalen of een element een integer of een tuple is.
>>> inttuple = (1, 2, (3, 4), 5, ((6, 7, 8, (9, 10), 11), 12, 13), ((14, 15, 16), (17, 18, 19, 20)))
>>> afvlakken(inttuple)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)