Décryptage python

Signaler
-
Messages postés
16149
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2021
-
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

Messages postés
1086
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
22 juin 2021
120
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()
Messages postés
16149
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2021
869
bonjour,
le point de départ, avant de programmer, est de parfaitement comprendre ce que le programme doit faire.
tiens aussi compte de ces deux éléments:
https://www.commentcamarche.net/faq/10925-demander-de-l-aide-pour-vos-exercices-sur-ccm
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
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.
Messages postés
16149
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2021
869
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.