Examen nal du cours de Python
Master Informatique M1 2019-2020
xExercice 1. Qu'impriment les instructions suivantes ? 1. print (list(range(10,-1,-2)))
2. print ('gabuzomeu'[1::2]) 3. print ('"""abracadabra"""'[-5])
4. print ("%(dd)02d/%(mm)02d/%(yyyy)d"% {'dd':6,'mm':1, 'yyyy':2020}) 5. print ([i*i for i in range(2,15,3) if i%2])
6. print ('to' in 'toto' and 'toto' 7. from itertools import product
it = product(*['01' for i in range(3)])
for x in it: print ( int(''.join(x),2), end=' ') 8. x='abc'; x+=x[::-1]; print(x==x[::-1])
xExercice 2. Les fonctions suivantes sont à écrire en une ligne (après importation éventuelle d'un module).
1. f1(n,k) renvoie la somme des puissancesk-ièmes des entiers entre 0 etn−1,
n−1
X
i=0
ik. 2. f2(n) renvoie le nombre de chires dans l'écriture décimale den! = 1×2× · · · ×n
3. f3(ll,d) prend en argument une liste d'entiers llet renvoie la liste des éléments de ll qui sont divisibles pard
4. f4(A,B) prend en argument deux ensembles (sets) A et B et renvoie la liste de tous les couples (a, b)aveca∈Aet b∈B.
5. f5(M) transpose une matriceM représentée par une liste de listes de même longueur : [[1,2,3],[4,5,6],[7,8,9],[10,11,12]] doit devenir
[[1,4,7,10],[2,5,8,11],[3,6,9,12]].
6. f6(L1,L2) qui prend comme arguments deux listes et teste si elles ont au moins un élément en commun.
7. f7(ll) prend en entrée une liste et retourne son élément le plus fréquent (n'importe lequel s'il y en a plusieurs).
8. f8(s,t) prend en entréee deux chaînes de même longueur et retourne le nombre de positions où elles diérent (exemple f8('aababa',abbbaa') = 3).
9. f9(ll) prend en entrée une liste de chaînes de caractères et renvoie la liste triée en ordre lexicographique par longueur :
ll = ['bla','a','b','toto', 'blu','ga','bu','zo','meu', 'titi']
f9(ll)
['a', 'b', 'bu', 'ga', 'zo', 'bla', 'blu', 'meu', 'titi', 'toto']
xExercice 3. Ecrire une classe Words dont la méthode __init__ prend comme paramètre un chier texte en utf8, et possède une méthode stats, renvoyant la liste des couples (w,n) des mots apparaissant dans le texte et de leur nombre d'occurences. Cette méthode prendra un paramètre order, et renverra la liste triée par ordre alphabétique croissant sur w ou par ordre décroissant sur n selon que order vaudra 0 ou 1.