Een getal wordt een volkomen kwadraat (perfect square) genoemd als je een geheel getal kan vinden waarvan het kwadraat gelijk is aan dat getal.
Voorbeelden van volkomen kwadraten: 0, 1, 4, 9, ....
Schrijf een functie is_perfect die als argument één geheel getal heeft.
De functie retourneert True als het getal een volkomen kwadraat is, anders False.
Los dit op via recursie. Deze functie mag, net zoals alle andere oefeningen in dit hoofdstuk, geen gebruik maken van loops.
Schrijf een functie square_test die als argument een lijst met gehele getallen heeft.
Deze functie onderzoekt of elk van de getallen in de lijst een volkomen kwadraat is en retourneert een lijst met waarden True of False, die telkens aangeven of het element op die positie een volkomen kwadraat was.
Je mag ervan uitgaan dat de opgegeven lijst in de juiste vorm is.
>>> is_perfect(4)
True
>>> square_test([2, 5, 9, 16])
[False, False, True, True]
We simuleren in deze oefening de programmeertaal LISP in Python. Het is niet de bedoeling dat je de eigenschappen en methoden van Python list objecten gebruikt, noch is het toegelaten om via for, while of list comprehensions een lijst te doorlopen.