Discussions

Que faire pour un "position - clé" négatif lors du décrpytage

Image

Bonjour,

si par exemple nous essayon de décrypter un "a" avec une clé 3, selon votre code on aurait alors une  position - clé = [0 -3] = -3 qui n'est pas dans l'index de la liste alphabet. Python devrait alors nous renvoyer une erreur. Dès lors j'ai pensé que vu qu'on avait deux fois l'alphabet qui se suivait, il faudrait alors faire 26 + position - clé = 23 = "x", ce qui devrait être correct et garantir de ne pas tomber dans les négatifs et garantir le cerlce non?

Merci d'avance, salutations.

Thierry Coowar
Chercheur en géologie numérique et passionné de technologie web
6 réponses
Image
Thierry Coowar
Le 02/04/2023 à 17:55

Je m'explique, car si par exemple on avait un z à crypter alors avec la clé 1 on aurait le "a" en position 26. Si dans décryptage on recherche la position de la lettre dans l'alphabet avec le alphabet.index(caractere) alors on aura 0 et non pas 26. Donc après si on soustrait par 3 bien on tombe à -3.. et non à 23.

Salutations

Image
Louis-Nicolas Leuillet
Le 02/04/2023 à 18:37

Bonjour Thierry,

En fait oui je comprends ce que tu veux dire : sauf qu'ici, on accepte que des clés positives qui vont de 1 à 26, donc on a pas ce problème :)

Image
Thierry Coowar
Le 02/04/2023 à 18:50

Bonjour,

nous avons quand même un problème pour un cryptage de "zzz" qui sera "aaa" et lors du décryptage avec n'importe quelle clé nous serons alors en valeur négative...

Image
Louis-Nicolas Leuillet
Le 02/04/2023 à 18:57

Alors oui, mais en Python -1 veut dire : le dernier élément du tableau. Donc z. On ne parviendra pas à faire tomber le code.

Image
Thierry Coowar
Le 02/04/2023 à 18:58

Je crois que je viens de comprends. Effectivement on a bien un index négatif..

cryptage.append(alphabet[(ind-cle)]) serait = cryptage.append(alphabet[-1]) si clé =1



 

Donc on va chercher le derner de la liste... Avec clé = -2 on a l'avant derniet etc.. et c'est pour cela que
ça ne plante pas... Est-ce que j'ai compris

 

 

 

 

Image
Louis-Nicolas Leuillet
Le 03/04/2023 à 08:24

C'est exact ! ;)

Image
Inscrivez-vous ou connectez-vous pour participer à la discussion.

Informations

Créée le 2 avril 2023 17:40
Dernière activité le 3 avril 2023 08:24