Bonsoir à tous, je viens vers vous pour avoir une explication concernant le codage de césar.
En particulier se bout
nbr_code=(((ord(lettre)-65)-cle)%26)+65
presents dans la fonction codage et decodage...
-je comprend ord(lettre) = recupére la valeur numerique du code Asquii de chaque lettre
-cle = cle de codage
par contre et Pourriez vous m'expliquer svp ?
Voici le code entier :
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
| def test(phrase,cle_saisi) :
ok=True
for car in phrase :
if (ord(car)<65 or ord(car)>90) :
ok=False
return ok
def cle_cesar(cle_saisi):
resultat=0
resultat=ord(cle_saisi[1])-ord(cle_saisi[0])
return resultat
def phrase_sans_les_espaces(phrase) :
phrase_resultat=""
# Boucle pour supprimer les espaces
for lettre in phrase :
if lettre != " " :
phrase_resultat+=lettre.upper()
return phrase_resultat
#Fonction qui code la phrase
def coder(phrase_resultat,cle) :
phrase_coder="" #Variable pour Phrase à coder
nbr_code=0 #Code ASCII pour chaque lettre de la phrase à coder
for lettre in phrase_resultat :
nbr_code=(((ord(lettre)-65)+cle)%26)+65
phrase_coder=phrase_coder+chr(nbr_code)
return phrase_coder
#Fonction qui decode la phrase
def decoder(phrase_coder,cle) :
phrase_decoder="" #Variable pour Phrase à decoder
nbr_code=0 #Code ASCII numérique pour chaque lettre de la phrase coder
for lettre in phrase_coder :
nbr_code=(((ord(lettre)-65)-cle)%26)+65
phrase_decoder=phrase_decoder+chr(nbr_code)
print("Voici la phrase coder :",phrase_coder)
print("Voici la phrase decoder",phrase_decoder)
print("La cle utiliser est :",cle)
# Saisie de la phrase et de la cle
phrase=input("Saisir une phrase")
phrase=phrase.upper()
cle_saisi=(input("Saisir une cle Ex:AB"))
cle_saisi=cle_saisi.upper()
tester=test(phrase,cle_saisi)
if tester==True :
phrase_resultat=phrase_sans_les_espaces(phrase)
#Fonction qui decripte la cle
cle=cle_cesar(cle_saisi)
#Fonction qui code la phrase
phrase_coder=coder(phrase_resultat,cle)
#Fonction qui decode la phrase
decoder(phrase_coder,cle)
else :
print("Phrase incorrecte ") |
Merci pour votre aide
Partager