Chez le dentiste, la bouche grande ouverte, lorsqu'on essaie de parler, il ne reste que les voyelles. Mรชme les ponctuations sont supprimรฉes. Vous devez รฉcrire une fonction dentiste qui prend une chaine de caractรจres texte et qui renvoie une autre chaine ne contenant que les voyelles de texte, placรฉes dans l'ordre.
Les voyelles sont donnรฉes par :
VOYELLES=['a','e','i','o','u','y']
On ne considรจrera que des textes รฉcrits en minuscules, sans accents.
Exemples
dentiste("j'ai mal")# affiche'aia'dentiste("il fait chaud")# affiche'iaiau'dentiste("")# affiche''
la fonction devra passer les tests suivants:
assertdentiste("j'ai mal")=='aia'assertdentiste("il fait chaud")=='iaiau'assertdentiste("")==''
On sโintรฉresse au problรจme du rendu de monnaie. On suppose quโon dispose dโun
nombre infini de billets de 5 euros, de piรจces de 2 euros et de piรจces de 1 euro.
Le but est dโรฉcrire une fonction nommรฉe rendu dont le paramรจtre est un entier positif non
nul somme_a_rendre et qui retourne une liste de trois entiers n1, n2 et n3 qui
correspondent aux nombres de billets de 5 euros (n1) de piรจces de 2 euros (n2) et de
piรจces de 1 euro (n3) ร rendre afin que le total rendu soit รฉgal ร somme_a_rendre.
On utilisera un algorithme glouton : on commencera par rendre le nombre maximal de
billets de 5 euros, puis celui des piรจces de 2 euros et enfin celui des piรจces de 1 euros.
L'opรฉrateur ยซ ou exclusif ยป entre deux bits renvoie 0 si les deux bits sont รฉgaux et 1 s'ils sont
diffรฉrents :
0 โ 0 = 0 , 0 โ 1 = 1 , 1 โ 0 = 1 , 1 โ 1 = 0
On reprรฉsente ici une suite de bits par un tableau contenant des 0 et des 1.
รcrire la fonction xor qui prend en paramรจtres deux tableaux de mรชme longueur et qui renvoie
un tableau oรน lโรฉlรฉment situรฉ ร position i est le rรฉsultat, par lโopรฉrateur ยซ ou exclusif ยป, des
รฉlรฉments ร la position i des tableaux passรฉs en paramรจtres.
En considรฉrant les quatre exemples ci-dessus, cette fonction doit passer les tests suivants :
On considรจre l'algorithme de tri de tableau suivant : ร chaque รฉtape, on parcourt depuis le dรฉbut du tableau tous les รฉlรฉments non rangรฉs et on place en derniรจre position le plus grand รฉlรฉment.
Exemple avec le tableau : t = [41, 55, 21, 18, 12, 6, 25]
รtape 1 : on parcourt tous les รฉlรฉments du tableau, on permute le plus grand รฉlรฉment avec le dernier.
Le tableau devient t = [41, 25, 21, 18, 12, 6, 55]
รtape 2 : on parcourt tous les รฉlรฉments sauf le dernier, on permute le plus grand รฉlรฉment trouvรฉ avec l'avant dernier.
Le tableau devient : t = [6, 25, 21, 18, 12, 41, 55]
Et ainsi de suite. La code de la fonction tri_iteratif qui implรฉmente cet algorithme est donnรฉ ci-dessous.
Le codage par diffรฉrence (delta encoding en anglais) permet de compresser un tableau de donnรฉes en indiquant pour chaque donnรฉe, sa diffรฉrence avec la prรฉcรฉdente (plutรดt que la donnรฉe elle-mรชme). On se retrouve alors avec un tableau de donnรฉes assez petites nรฉcessitant moins de place en mรฉmoire. Cette mรฉthode se rรฉvรจle efficace lorsque les valeurs consรฉcutives sont proches.
Programmer la fonction delta_encoding qui prend en paramรจtre un tableau non vide de nombres entiers et qui renvoie un tuple ร deux รฉlรฉments comprenant :
En premier, la valeur initiale
En second, le tableau des diffรฉrences, contenant les valeurs entiรจres compressรฉes ร l'aide de cette technique.