## Q1 # 7^7 employés par site # 2^3 = 8 sites maximum # 7^7 > 100, 2^3 > 5 -> suffisant ! ## Q2 s = 'Auttame' s = s[:3]+s[4:] #suppression print(s) s = s[:3]+'o'+s[4:] #substitution print(s) s = s[:5]+'n'+s[5:] #insertion print(s) # distance de Levenshtein = 3 ## Q3 # ligne 14 : d = [[0,1,2], [1,0,0], [2,0,0], [3,0,0]] # ligne 26 : d = [[0,1,2], [1,1,2], [2,2,1], [3,3,2]] # distance = d[3,2] = 2 ## Q4 # O(nm) ## Q5 def code_bon_lvs(table_code): for i in range(len(table_code)): for j in range(i+1,len(table_code)): if levenshtein(table_code[i],table_code[j])<=3: table_code[i]='0000000' table_code[j]='0000000' return None ## Q6 def pourcentage_lvs(table_code): n = len(table_code) c = 0 for i in range(n): if table_code[i]=='0000000': c+=1 p = int(c/n*100) return str(p)+'%' ## Q7 # bleu : (0,0,255) = (0,0,FF) # blanc : (255,255,255) = (FF,FF,FF) # (10,10,10) : gris foncé ## Q8 256^3 = 2^24 = 16 millions environ ## Q9 # n%2 = 0 si n est pair, 1 si n est impair # n//2 a pour code binaire le code binaire de n sauf le dernier chiffre def dec_to_bin(n): if n==0: return '' else: return dec_to_bin(n//2)+str(n%2) ## Q10 def dec_to_bin2(n): b = dec_to_bin(n) while len(b)<3: b='0'+b return b # ou : return '0'*max(0,3-len(b))+b ## Q11 def num(b): if len(b)==0: return -1 else: s=0 for k in range(len(b)): s=2*s+int(b[k]) return s ## Q12 def lettre(code): L='ABCDEFG' k = num(code) return L[k-1] ## Q13 def bpf(im, posi): px = im.getpixel(posi) return dec_to_bin(px[0])[-1] + dec_to_bin(px[1])[-1] + dec_to_bin(px[2])[-1] ## Q14 # La fonction valeur_delta renvoie la valeur de delta. C'est un entier pair entre 40 et 40 + (128-41-1) = 126 ## Q15 def position_bloc(posi,delta,imx,indice): return (posi[0]+indice*delta)%imx , posi[1]+indice*delta//imx) ## Q16 def num_site(im, posi): return num(bpf(im,posi)) ## Q17 def lecture_lettres(im, posi): S = '' delta = valeur_delta(im,posi) imx, imy = im.size for k in range(1,8): posi_bloc = position_bloc(posi,delta,imx,k) S += lettre(bpf(im, posi_bloc)) return S ## Q18 # La fonction renvoie le code de l'employé