Enseignements

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:

(i for i in xrange(start, end) if len(str(i)) == len(set(str(i))))

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

Retour à la page principale

Page d’Accueil

Enseignements 2017-18

Enseignements Antérieurs

Recherche…

edit SideBar

Blix theme adapted by David Gilbert, powered by PmWiki