Recherche et cesar
.
Exercice N°1 :
Enoncé | Exemple : |
---|---|
Écrire une fonction recherche qui prend en
paramètres un tableau tab de nombres |
>>> recherche([2, 3, 4, 5, 6], 5) 3 >>> recherche([2, 3, 4, 6, 7], 5) -1 |
REPONSE SIMPLE | RESULTAT |
A=list(range(2,7,1)) B=list(range(2,8,1)) def recherche(F,n): if n>F[len(F)-1]or n<F[0]: return -1 else: print(F.index(n)) else: print(F.index(n)) |
>>> recherche(A,5) 3 >>> recherche(B,3) 1 >>> recherche(A,45) -1
>>> recherche(A,5) 3 >>> recherche(B,3) 1 >>> recherche(A,45) -1 >>> |
---|
REPONSE ATTENDUE | RESULTAT |
A=list(range(2,7,1)) B=list(range(2,8,1)) def recherche1(F,n): m=len(F) if n>F[len(F)-1]or n<F[0]: return -1 else: m=int(len(F)/2) A1,A2=list(range(F[0],F[m],1)),list(range(F[m],F[len(F)-1]+1,1)) print(A1,A2,F) while len(A1)!=1 or len(A2)!=1: if len(A1)==1:return len(liste(range(F[0],F[A1[0]],1))) if len(A2)==1:return len(liste(range(F[0],F[A2[0]],1))) if n<A1[m]: m=int(len((A1)/2)) A1,A2=list(range(A1[0],A1[m],1)),list(range(A1[m],A1[len(A1)-1]+1,1)) if n>=A2[0]: m=int(len((A2)/2)) A1,A2=list(range(A2[0],A2[m],1)),list(range(A2[m],A2[len(A2)-1]+1,1)) print('h',m1) recherche1(list(range(F[m1],len(F),1)),n)
|
>>> recherche(A,5) 3 >>> recherche(B,3) 1 >>> recherche(A,45) -1
>>> recherche(A,5) 3 >>> recherche(B,3) 1 >>> recherche(A,45) -1 >>> |
---|
.
Exercice
N°2 :
Chercher : | |
---|---|
Le codage de César transforme un message en changeant chaque
lettre en la décalant |
ALPHABET='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def position_alphabet(lettre): return ALPHABET.find(lettre)
def cesar(message, decalage): resultat = '' for ... in message : if lettre in ALPHABET : indice = ( ... )%26 resultat = resultat + ALPHABET[indice] else: resultat = ... return resultat
Compléter la
fonction cesar. >>> cesar('BONJOUR A TOUS. VIVE LA MATIERE NSI !',4) 'FSRNSYV E XSYW. ZMZI PE QEXMIVI RWM !' >>> cesar('GTSOTZW F YTZX. ANAJ QF RFYNJWJ SXN !',-5) 'BONJOUR A TOUS. VIVE LA MATIERE NSI !'
|
.
REPONSE
.
Programme |
---|
ALPHABET='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def position_alphabet(lettre): return ALPHABET.find(lettre)
def cesar(message, decalage): resultat = '' for lettre in message : if lettre in ALPHABET : indice = (ord(lettre)-65+decalage)%26 resultat = resultat + ALPHABET[indice] else: resultat = resultat +" " return resultat
|
Il faut utiliser idle et copier la commande ci-dessous et appuyer sur entrée |
REPONSE
>>> cesar('GTSOTZW F YTZX. ANAJ QF RFYNJWJ SXN !',-5) 'BONJOUR A TOUS VIVE LA MATIERE NSI ' >>> cesar('BONJOUR A TOUS. VIVE LA MATIERE NSI !',4) 'FSRNSYV E XSYW ZMZI PE QEXMIVI RWM ' >>>
|