1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| # Exercice 1 :
def recherche_mot(texte, mot):
if len(mot)>len(texte):
return -1
else:
for i in range (len(texte)-len(mot)):
for j in range len (mot):
if texte[i]==mot[j]:
return i
def modifier_mot (texte, mot, indice):
debut = texte[0:(indice-1)]
fin = texte[indice:]
return (debut+mot+fin)
def chercher_et_remplacer (texte, mot1, mot2):
i=recherche_mot(texte,mot1)
return (modifier_mot(texte,mot2,i))
# Exercice 2 :
def cesar (texte,cle):
codage=[]
for lettre in range len(texte):
nombre=ord(lettre)-65
nombre2=(nombre+cle)%26
lettre2=chr(nombre2+65)
codage.append(lettre2)
codage="".join(codage)
return(codage)
def dechiffrer (texte,cle):
codage=[]
for lettre in range len(texte):
nombre=ord(lettre)-65
nombre2=(nombre-cle)%26
lettre2=chr(nombre2+65)
codage.append(lettre2)
codage="".join(codage)
return(codage)
def chercher (texte, element):
for i in range len(texte):
if texte[i] == "element":
return i
else:
return -1
def nombre_apparitions (texte):
L1=texte.split(',')
for k in range len(L1):
L2[k]=0
for lettre in range (len(L1)):
if lettre=="L1[0]":
L2[lettre] = L2[lettre] + 1
return(L1,L2)
def tri (L1,L2):
for i in range (1, len(L1)):
for i in range ((1, len(L2)):
tmp1=L1[i]
tmp2=L2[i]
j=i-1
while j<=0 and tmp1>L1[j]:
L1[j+1]=L1[j]
j-=1
L1[j+1]=tmp1
L2[j+1]=tmp2
return (L1,L2) |