Python V 2 Tp 3 Exo 1
Exercice 1: la compréhension du verrouillage d’Android
A rendre: le code des questions 2, 5 (et 6 bonus optionnel pour les courageux)
Ces exercices sont inspirés de la rubrique de Cedric Beust concernant le Locking Pattern d’Android. Voir ici pour les details…
Question 1
Essayer de comprendre puis donner une explication précise sur ce que fait cette ligne de code présentée dans une solution en python:
Question 2
Construisez un petit programme qui utilise ce bout de code. Affichez le résultat en construisant une boucle qui utilise ce générateur entre 1000 et 1100.
Question 3
Poussons un peu plus que le concours de programmation…
Dans de nombreux cas, la sequence ‘20’ est interdite. Quelles sont les autres sequences interdites ? Construisez un tuple de ces séquences, que vous appelerez interdit
.
Question 4
Construisez à la main une version réduite du tuple précédent, appelé reduit
, sans les palindromes (si le tuple contient ‘20’, il ne doit pas contenir ‘02’)
Question 5
Ecrivez un programme qui construit un nouveau (pseudo-)tuple contenant la liste de palindromes, en partant du tuple reduit
, et seulement en utilisant la technique des compréhensions (generateurs).
Question 6 (difficile)
A l’aide de la technique des compréhensions, construisez un (pseudo-)tuple forbid
qui est l’union des éléments de la liste reduit
et de la liste des palindromes des éléments de reduit
.
Probleme 7 (facultatif)
Modifiez le programme de la question 2 pour éliminer les solutions qui contiennent les séquences du tuple forbid