Décryptage python
pauline20105
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
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.
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
-
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() -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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/infos/25899-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.