Décryptage python

pauline20105 -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pour mon cours d'informatique, je dois modifier ce programme pour pouvoir décrypter un message:

message="cettematinéed’hiverestparticulièrementensoleillée"
n=len(message)
listk=[4,0,2,6,1,3,5]
maxi=len(listk)
for k in listk:
p=0
while k+p*maxi<=n-1:
print(message[k+p*maxi],end="")
p=p+1

Je sais qu'il faut commencer par la fin mais je ne vois absolument pas comment faire.

Merci d'avance.

3 réponses

  1. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

    Pour les balises de code, tu n'as pas tout lu
    Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

    def test():
        print('test')
    
    test()
    
    1
  2. pauline20105
     
    Bonjour,

    Merci pour votre réponse. J'ai bien compris ce que fais le programme.

    <code>message="soleil"
    n=len(message)
    listk=[2, 0, 1]
    maxi=len(listk)
    for k in listk:
        p=0
        while k+p*maxi<=n-1:
            print(message[k+p*maxi],end="")
            p=p+1
    </code>

    le k+p*maxi consiste à prendre le premier chiffre de la clé+ p (un compteur qui commence à 0) x la longueur de la liste :
    on numérote le message de 0 à 5

    S O L E I L
    0 1 2 3 4 5

    2+ 0x3 = 2 -> L
    2+ 1x3 = 4 -> L on arrive à la fin du message donc on change de chiffre dans la clé : 0
    0+ 0x3 = 0 -> S
    0+ 1x3 = 3 -> E on est à la fin du message donc on passe à 1
    1+ 0x3 = 1 -> O
    1+ 1x3 = 4 -> I

    On obtient: LLSEOI

    J'arrive à crypter et décryter le message à la mais, mais je ne vois pas trop comment le mettre dans le programme.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      le point de départ, avant de programmer le programme de décryptage, est de parfaitement comprendre ce qu'il faut faire pour décrypter.
      0