TP - Préfixes et suffixes☘
Téléchargez le fichier « à trous » TPB01.41.py
(clic droit -> [Enregistrer sous]) et enregistrez-le dans le dossier
[B01_Tableaux].
Consignes communes à chaque partie
Le programme principal contient un appel au module doctest :
##----- Programme principal et tests -----##
if __name__ == '__main__':
import doctest
doctest.testmod()
Il faudra aussi ajouter vos propres tests dans le programme principal (le
main) afin de vous entraîner à en réaliser.
Partie 1 : Préfixe☘
m, on appelle préfixe de ce
mot m tout mot constitué des premières lettres du mot
m.
Exemples
- Les préfixes du mot
"carambar"sontc,ca,car,cara,caram,caramb,caramba,carambar. - Les préfixes du mot
"NSI"sontN,NS,NSI.
-
Complétez le code de la fonction
prefixe()qui prend en paramètres une chaîne de caractèremotet un entiernet qui renvoie le préfixe de longueurndemot.
Il faudra que votre programme lève l'erreur suivante :1 2 3 4 5 6 7 8 9
def prefixe(mot, n): """ mot – str n - int, entier tel que 0 < n <= nombre de lettres de mot Sortie: str - prefixe de longueur n de mot >>> prefixe('carambar', 3) 'car' """ pass>>> prefixe('carambar', 9) AssertionError: Le paramètre n ne convient pas -
Complétez le code de la fonction
prefixes()qui prend en paramètre une chaîne de caractèremotet qui renvoie un tableau contenant tous les préfixes demot.1 2 3 4 5 6 7 8
def prefixes(mot): """ mot – str Sortie: list - tous les préfixes de mot >>> prefixes('carambar') ['c', 'ca', 'car', 'cara', 'caram', 'caramb', 'caramba', 'carambar'] """ pass
Partie 2 : Suffixe☘
m, on appelle suffixe de ce
mot m tout mot constitué des dernières lettres du mot
m.
Exemples
- Les préfixes du mot
"carambar"sontr,ar,bar,mbar,ambar,rambar,arambar,carambar. - Les préfixes du mot
"NSI"sontI,SI,NSI.
-
Complétez le code de la fonction
suffixe()qui prend en paramètres une chaîne de caractèremotet un entiernet qui renvoie le suffixe de longueurndemot.1 2 3 4 5 6 7 8 9
def suffixe(mot, n): """ mot – str n - int, entier tel que 0 < n <= nombre de lettres de mot Sortie: str - suffixe de longueur n de mot >>> suffixe('carambar', 3) 'bar' """ pass
Il faudra que votre programme lève l'erreur suivante :
```python
>>> suffixe('carambar', -2)
AssertionError: Le paramètre n ne convient pas
```
-
Complétez le code de la fonction
suffixes()qui prend en paramètre une chaîne de caractèremotet qui renvoie le tableau contenant tous les suffixes demot.1 2 3 4 5 6 7 8
def suffixes(mot): """ mot – str Sortie: list - tous les suffixes de mot >>> suffixes('carambar') ['r', 'ar', 'bar', 'mbar', 'ambar', 'rambar', 'arambar', 'carambar'] """ pass
Partie 3 : Bords☘
m, on appelle bord de ce mot
m tout mot qui est à la fois préfixe et suffixe du mot
m sans être le mot m lui-même.
On considère que la chaîne vide est un bord de toute chaîne.
Exemples
- L'unique bord de
"abacaba"est"aba". - Les bords de
"abcabcab"sont"ab"et"abcab". "je suis"est un bord de la chaîne"je suis comme je suis".
Complétez le code de la fonction plus_long_bord() qui prend en paramètre
une chaîne de caractère mot et et qui renvoie le plus long bord de mot.
1 2 3 4 5 6 7 8 | |