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èremot
et un entiern
et qui renvoie le préfixe de longueurn
demot
.
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èremot
et 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èremot
et un entiern
et qui renvoie le suffixe de longueurn
demot
.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èremot
et 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 |
|