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 inttuples 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
inttuplerecursief is gedefinieerd, is een recursieve functie waarschijnlijk de beste aanpak. Als je hoofdstuk 9) 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)