Universit´e de Paris 7 TP01 M1MME (F.Han 1)
Exercice I: Mise en route Python.
Lancer l’´editeur idle.
1) a) Utilisation int´eractive : Calculer 21000.
b) Que fait 2^10. (On pourra deviner en essayant d’autres valeurs et v´erifier dans la docu-
mentation officielle)
c) Faire quelques op´erations dans Z
/[i]. Par exemple (1 + 2.i)3et (1 + i).(2 + 3.i)
d) Sous idle on peut obtenir une compl´etion avec la tabulation. Par exemple compl´etez s.
D´efinir un liste d’entiers lde 5 `a 21, et trouver une fonction qui calcule sa somme.
e) Utilisez la tabulation pour trouver une fonction qui calcule la somme des ´el´ements de l
f) On peut aussi obtenir des fonction qui s’appliquent `a un type, par exemple compt´ez par
tabulation : str. et trouver un instruction qui remplace la chaine ”old” par la chaine ”new” dans
la chaine ch=’The new golden gate ’
g) Remarquer que les chaines se comportent comme des listes de caract`eres. Comment trouve
t’on la longueur d’une liste ? (On pourra utiliser la compl´etion). Comment ´etendre une liste avec
une autre ?
2) Utilisation pour un programme. Ouvrir une nouvelle fenˆetre (cf menu file, remarquez la
difference avec la fenˆetre shell). On peut cette fois taper sur plusieurs lignes, et ex´ecuter le tout `a
la fin avec F5.
a) Trouver une instruction pour saisir une chaine de caracteres, puis cr´eer une liste de ca-
ract`eres `a partir de cette chaine. Tester si la chaˆıne initialement saisie ne comporte que des nombres.
Dans ce cas, cr´eer une liste de chiffres lchi correspondant `a cette chaine.
Exercice II: Clef de Luhn
On consid`ere une suite de lchiffres o`u lest pair. On consid`ere l’algorithme suivant :
1. on d´emarre avec le dernier chiffre (`a droite) et on se d´eplace vers la gauche, en doublant la
valeur de tous les chiffres de rang pair : le dernier est trait´e en 1er, il n’est pas doubl´e, l’avant-dernier
(2e) sera doubl´e. Si le double d’un chiffre d´epasse 10, on le remplace par la somme de ses chiffres.
Ainsi,
Par exemple, 1 111 devient 2 121, tandis que 8 763 devient 7 733 (car 26=12, et 1+2=3 ; 28=16,
et 1+6=7).
1. on additionne ensemble tous les chiffres du nombre ainsi obtenu. Par exemple, 1111 devient
2121 dont la somme donne 6 (2+1+2+1) ; tandis que 8763 devient 7733 et 7+7+3+3 donne alors
20. 2. si le total est un multiple de 10 (le chiffre des unit´es est un z´ero), alors le nombre est valide,
en accord avec la formule de Luhn. Sinon il est invalide.
1) Programmez cet algorithme en python.
2) V´erifiez avec votre CB que le num´ero passe le test de luhn.
1. http://www.math.jussieu.fr/~han/
1
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !