• Aucun résultat trouvé

09.Recherche d’un mot dans une cha

N/A
N/A
Protected

Academic year: 2022

Partager "09.Recherche d’un mot dans une cha"

Copied!
2
0
0

Texte intégral

(1)

TSI - Travaux Pratiques d’informatique

09.Recherche d’un mot dans une chaˆıne de caract` eres

Nous utiliserons dans ce TP le langage de programmation Python au moyen de l’environnement de d´eveloppement IDLE.

Exercice 1. Tester le programme suivant :

def extraire(l,a,b):

’’’extraction des caract` eres d’indices compris entre a et b dans la cha^ ıne de caract` eres l’’’

m=""

for k in range(a,b+1):

m=m+l[k]

return(m)

Exercice 2. Cr´eer puis tester une fonction renverser de la variable l qui retourne la chaˆıne de caract`eres obtenue en lisant les caract`eres de la chaˆıne l dans l’ordre d´ecroissant de leurs indices.

(par exemplerenverser(”python”) vaut ”nohtyp”)

Exercice 3. Cr´eer puis tester une fonction debut des variables l et m permettant de tester si la chaˆıne de caract`eres l d´ebute par le mot m , on pourra utiliser la fonction extraire.

(par exempledebut(”python”,”py”) vautT rue)

Exercice 4. Cr´eer puis tester une fonction fin des variables l et m permettant de tester si la chaˆıne de caract`eres l finit par le mot m .

(par exemplef in(”python”,”thon”) vautT rue)

Exercice 5. Cr´eer puis tester une fonction occurrences des variables l et m retournant le nombre d’occur- rences du mot m dans la chaˆıne de caract`eres l .

(par exempleoccurrences(”montypython”,”on”) vaut 2)

Exercice 6. Cr´eer puis tester une fonction atteindre des variables l et c retournant la liste des indices des occurrences du caract`ere c dans la chaˆıne de caract`eres l .

(par exempleatteindre(”montypython”,”y”) vaut [4,6])

Exercice 7. Cr´eer puis tester une fonction remplacer des variables l , c 1 et c 2 retournant la chaˆıne de caract`eres obtenue en rempla¸cant les occurrences du caract`ere c 1 par le caract`ere c 2 dans la chaˆıne de caract`eres l .

(par exempleremplacer(”montypython”,”y”,”i”) vaut ”montipithon”)

Exercice 8. Cr´eer puis tester une fonction statistiques de la variable l retournant la liste des caract`eres de la chaˆıne l ainsi que la liste de leurs nombres d’occurrences respectifs.

(par exemplestatistiques(”montypython”) vaut [m,o,n,t,y,p,h],[1,2,2,2,2,1,1])

www.emmanuelmorand.net 1/2 supTSI1617TpInfo09

(2)

TSI - Travaux Pratiques d’informatique 09.Recherche d’un mot dans une chaˆıne de caract`eres

R´ eponses

2)

def renverser(l):

’’’retourne la cha^ıne de caract`eres obtenue en lisant les caract`eres de la cha^ıne l dans l’ordre d´ecroissant de leurs indices’’’

L=""

for k in range(0,len(l)):

L=L+l[len(l)-1-k]

return(L)

3)

def debut(l,m):

’’’teste si la cha^ıne de caract`ere l d´ebute par le mot m’’’

if extraire(l,0,len(m)-1)==m:

return(True) else:

return(False)

4)

def fin(l,m):

’’’teste si la cha^ıne de caract`ere l finit par le mot m’’’

if extraire(l,len(l)-len(m),len(l)-1)==m:

return(True) else:

return(False)

5)

def occurrences(l,m):

’’’calcul du nombre d’occurrences du mot m dans la cha^ıne de caract`eres l’’’

s=0

for k in range(0,len(l)-len(m)+1):

if extraire(l,k,k+len(m)-1)==m:

s=s+1 return(s)

6)

def atteindre(l,c):

’’’retourne la liste des indices des occurrences du caract`ere c dans la cha^ıne de caract`eres l’’’

L=[]

for k in range(0,len(l)):

if l[k]==c:

L.append(k) return(L)

7)

def remplacer(l,c1,c2):

’’’retourne la cha^ıne de caract`eres obtenue en rempla¸cant les occurrences du caract`ere c1 par le caract`ere c2 dans la cha^ıne de caract`eres l’’’

L=""

for k in range(0,len(l)):

if l[k]==c1:

L=L+c2 else:

L=L+l[k]

return(L)

8)

def statistiques(l):

’’’retourne la liste des caract`eres de la cha^ıne l ainsi que la liste de leurs nombres d’occurrences respectifs’’’

L=l #chaine en cours de traitement L1=[] #liste des caract`eres

L2=[] #liste des nombres d’occurrences while(len(L)>0):

c=L[0] #caract`ere en cours de traitement s=1

Ltemp=""

for k in range(1,len(L)):

if L[k]==c:

s=s+1 else:

Ltemp=Ltemp+L[k]

L1.append(c) L2.append(s) L=Ltemp return(L1,L2)

www.emmanuelmorand.net 2/2 supTSI1617TpInfo09

Références

Documents relatifs

Exercice 4 : cryptage Ecrire un programme qui demande ` a l’utilisateur de saisir 26 lettres pour chiffrer les 26 lettres de l’alphabet (et v´ erifie qu’il ne rentre pas deux fois

Compl´eter le programme pour d´eterminer le nombre de caract`eres de chacun des mots contenus dans ce texte. D`es que la longueur d’un mot est connue, affichez en

Syntaxe de l’adressage indirect par registre.- Comme nous l’avons d´ej` a vu, pour d´esigner une valeur constante on ´ecrit cette valeur (en hexad´ecimal), pour une valeur se

Syntaxe de l’adressage indirect par registre en langage symbolique.- Comme nous l’avons d´ej` a vu, en langage symbolique, pour d´esigner une constante on ´ecrit celle-ci

Cr´eer un programme Python permettant de r´ealiser le chiffrement ROT13 d’un fichier texte, puis cr´eer un programme Python permettant de r´ealiser le d´echiffrement.

La fonction caract´ eristique d’une intersection est la conjonction des fonctions caract´ eristiques :. Exo

La fonction caract´ eristique d’une intersection est la conjonction des fonctions caract´ eristiques :. Exo

imprime toutes les lignes contenant le mot analyse suivi du mot lexical dans tous les fichiers de suffixe .tex. (L’option -i