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