Feuille 71
EXERCICE
On dispose d'un carré de POLYBE :
On crypte un mot en remplaçant chaque lettre du mot par les coordonnées
( numéro de la ligne , numéro de la colonne )
de sa position dans le carré de Polybe .
1 | 2 | 3 | 4 | 5 | |
1 | A | B | C | D | E |
2 | F | G | H | I | J |
3 | K | L | M | N | O |
4 | P | Q | R | S | T |
5 | U | V / W | X | Y | Z |
Ecrire le programme de cryptage d'un mot.
----------------------------------------------------------------------
REPONSE:
from random import*
def cryptage(texte):
tableau=[["A","B","C","D","E"],["F","G","H","I","J"],["K","L","M","N","O"],
["P","Q","R","S","T"],["U","V","X","Y","Z"]]
c=" "
k=0
while k<len(texte):
L=texte[k]
for i in range(5):
for j in range(5):
if L==tableau[i][j]:
c=c+str(i+1)+str(j+1)+" "
k=k+1
return c
texte=raw_input("Entrer le mot à crypter ")
print " Le mot crypté devient" ,cryptage(texte)
Par exemple on obtient:
>>>
Entrer le mot à crypter HIER
Le mot crypté devient 23 24 15 43
>>>
Autre exemple:
>>>
Entrer le mot à crypter ON DEFINIT UN TABLEAU
Le mot crypté devient 35 34 14 15 21 24 34 24 45 51 34 45 11 12 32 15 11 51
>>>
Autre exemple:
>>>
Entrer le mot à crypter BON SEJOUR DANS LE MIDI
Le mot crypté devient 12 35 34 44 15 25 35 51 43 14 11 34 44 32 15 33 24 14 24
>>>
---------------------------------------------------------------------------------------
PARTIE B ( Décryptage )
from random import*
def decryptage(textecode):
L=[["A","B","C","D","E"],["F","G","H","I","J"],["K","L","M","N","O"],
["P","Q","R","S","T"],["U","V","X","Y","Z"]]
t=" "
m=len(textecode)
for i in xrange(0,m,3):
x=int(float(textecode[i]))
y=int(float(textecode[i+1]))
k=L[x-1][y-1]
t=t+k
return t
textecode=raw_input("Entrer le motcode .. .. : ")
print decryptage(textecode)
Par exemple:
>>>
Entrer le motcode: 12 23 21 22
BHFG
>>>
autre exemple:
>>>
Entrer le motcode: 12 35 34 44 15 25 35 51 43 14 11 34 44 32 15 33 24 14 24
BONSEJOURDANSLEMIDI
>>>