Bonjour ,
Je voudrais savoir comment exclure les chiffres de la transformation grâce au code césar . car la les chiffres sont modifiés ( a cause de l'ascii) et c'est pas vraiment ça que je veux.
merci de votre aide
PS : si quelqu'un a une idée pour enlever la variable chiffre au début , je veux bien . J'ai essayé de bricoler quelque chose avec l'ascii et les chiffres mais c'était un échec ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 chiffre = '123456789' def position_ALPHABET(lettre): #fonction permettant de savoir la position de la lettre dans l'alphabet code_ascii= ord(lettre) #permet de trouver la position des lettres avec le code ascii indice = int(code_ascii) - 65 #permet de changer la position des lettres (A=0) return indice #retourner l'indice def fonction_cesar(message,decalage): #fonction permettant de decaller les lettres suivant un décalage resultat="" for lettre in message : #chaque lettre va une par une dans la fonction indice = position_ALPHABET(lettre) #defini l'indice par la position de la lettre resultat = resultat + chr( 65 + (indice+decalage)%26) #rajoute 65 pour trouver la position dans le code ascii resultat = resultat + "" #assemble les lettres return resultat #retourne le resusltat def chiffre(chiffre,message): chiffre ="" for chiffre in message : #ne pas toucher au chiffre dans le message return ################programme principal################## message = input ("mot a coder en majuscules : ") #demande a l'utilisteur le mot a coder decalage = input ("décalage souhaité : ") #demande a l'utilistaeur le decallage resultat = fonction_cesar(message,int(decalage)) #permet d'assembler le résultat print (resultat) #affiche le resultat a l'utilisateur
Partager