Premièrement tu appelles cette instruction beaucoup trop de fois
mot = mot.replace(" ", "")
Alors qu'une fois exécuté, le faire d'autres fois est complètement inutile. A cela s'ajoute que les espaces sont conservé dans le chiffrement de César
Ensuite je comprends pas l'intérêt de l'imbrication de if, tu as juste à te reporter à la formule du chiffrement qui est :
En changeant tout ça, t'arrives à un code ressemblant à ça :
def cesarC(mot, cle):
enc = ""
mot = mot.upper()
for lettre in mot:
pos = ord(lettre) - 65 #position dans l'alphabet [0:25]
posC = (pos + cle) % 26 #position dans l'alphabet après chiffrement
lettreC = chr(posC + 65) #lettre après chiffrement
enc += lettreC
return enc
print(cesarC("europe", 5))
Message édité le 16 février 2016 à 23:32:50 par MrGreez94