Déchiffrer un code de César

Un code de César consiste à chiffrer une texte en permutant les lettres circulairement : A devient D, B devient E, C devient F, etc.
Ici le code ne contient que 26 possibilités mais d'autres versions peuvent autoriser une permutation arbitraire des lettres de l'alphabet. L'objectif est ici d'écrire une fonction python qui déchiffre le texte dont le code de césar est aléatoire (donc inconnu) .


Ecrire une fonction python qui décale les lettres d'un texte d'un nombre de lettre \(n\in \mathbb [0,25]\).
Ecrire une fonction python testant les différentes permutations possibles de la manière la plus intelligente possible.


Type fonction

Il y a deux manières de définir une fonction en python. La commande lambda et la commande def

f=lambda x:2*x
print (f(10))
print (f("plop"))

def  ma_fonction(n):
    for entier in range(n):
        print (entier)
    return (n**2)

En savoir plus »

Boucle for

Une boucle for parcours toutes les valeurs d'un "itérateur" et execute un code pour chaque valeur. Un itérateur peut-être une liste, une chaine de caractère ou des objets plus complexes.

texte="plopinou est parti!"
for lettre in texte:
    print (lettre)

print (range(10))
for entier in range(10):
    print (entier)

En savoir plus »

Fichiers

L'écriture et la lecture de fichier se fait avec la commande open

mon_fichier = open("chemin.txt",'r') # 'r' pour 'read'
texte=mon_fichier.read() 
mon_fichier.close()  // ferme le fichier
texte=texte[:120]
autre_fichier = open("test.txt",'w') # 'w' pour 'write'
autre_fichier.write(texte)
autre_fichier.close()

En savoir plus »