Vous n'êtes pas identifié(e).
Pages : 1
Voici un code affreux, que je doit optimiser car il est super moche mais en attendant il marche qui encode et décode une phrase avec le carré de polybe.
J'ai codé ce tool car ceux trouvé via une recherche sur google ne prenait en compte que des carré de 5x6 au lieu du traditionnel 5x5.
Merci aux personnes qui m'ont aidé a réaliser ce code.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
def main():
header()
print("\033[1;31m [>]\033[1;m 1. Encrypt Polybe.")
print("\033[1;31m [>]\033[1;m 2. Decrypt Polybe.")
print("\033[1;31m [>]\033[1;m 3. Exit.")
choice_var=raw_input("\033[1;31m [>]\033[1;m Enter your choice: ")
if(choice_var=="1"):
__EnCryptPolybe__()
if(choice_var=="2"):
__DeCryptPolybe__()
if(choice_var=="3"):
quit()
def header():
print ''' ____ ____ _ _
| _ \ _ _| _ \ ___ | |_ _| |__ ___
| |_) | | | | |_) / _ \| | | | | '_ \\ / _ \\
| __/| |_| | __/ (_) | | |_| | |_) | __/
|_| \__, |_| \___/|_|\__, |_.__/ \___|
|___/ |___/ '''
def __EnCryptPolybe__():
chaine = raw_input("phrase : ")
chaine = chaine.lower()
chaine = chaine.replace('a', '11')
chaine = chaine.replace('b', '12')
chaine = chaine.replace('c', '13')
chaine = chaine.replace('d', '14')
chaine = chaine.replace('e', '15')
chaine = chaine.replace('f', '21')
chaine = chaine.replace('g', '22')
chaine = chaine.replace('h', '23')
chaine = chaine.replace('i', '24')
chaine = chaine.replace('j', '24')
chaine = chaine.replace('k', '25')
chaine = chaine.replace('l', '31')
chaine = chaine.replace('m', '32')
chaine = chaine.replace('n', '33')
chaine = chaine.replace('o', '34')
chaine = chaine.replace('p', '35')
chaine = chaine.replace('q', '41')
chaine = chaine.replace('r', '42')
chaine = chaine.replace('s', '43')
chaine = chaine.replace('t', '44')
chaine = chaine.replace('u', '45')
chaine = chaine.replace('v', '51')
chaine = chaine.replace('w', '52')
chaine = chaine.replace('x', '53')
chaine = chaine.replace('y', '54')
chaine = chaine.replace('z', '55')
print chaine
main()
def __DeCryptPolybe__():
chaine = raw_input("phrase : ")
chaine = chaine.replace(" ", "xx")
chaine1 = chaine[:2], chaine[2:4], chaine[4:6], chaine[6:8], chaine[8:10], chaine[10:12], chaine[12:14], chaine[14:16], chaine[16:18], chaine[18:20], chaine[20:22], chaine[22:24], chaine[24:26]\
, chaine[26:28], chaine[28:30], chaine[30:32], chaine[32:34], chaine[34:36], chaine[36:38], chaine[38:40], chaine[40:42], chaine[42:44], chaine[44:46], chaine[46:48], chaine[48:50], chaine[50:52]
chaine2 = " ".join(str(i) for i in chaine1[0:len(chaine1)])
chaine2 = chaine2.replace('xx', ' ')
chaine2 = chaine2.replace('11', 'a')
chaine2 = chaine2.replace('12', 'b')
chaine2 = chaine2.replace('13', 'c')
chaine2 = chaine2.replace('14', 'd')
chaine2 = chaine2.replace('15', 'e')
chaine2 = chaine2.replace('21', 'f')
chaine2 = chaine2.replace('22', 'g')
chaine2 = chaine2.replace('23', 'h')
chaine2 = chaine2.replace('24', 'i')
chaine2 = chaine2.replace('24', 'j')
chaine2 = chaine2.replace('25', 'k')
chaine2 = chaine2.replace('31', 'l')
chaine2 = chaine2.replace('32', 'm')
chaine2 = chaine2.replace('33', 'n')
chaine2 = chaine2.replace('34', 'o')
chaine2 = chaine2.replace('35', 'p')
chaine2 = chaine2.replace('41', 'q')
chaine2 = chaine2.replace('42', 'r')
chaine2 = chaine2.replace('43', 's')
chaine2 = chaine2.replace('44', 't')
chaine2 = chaine2.replace('45', 'u')
chaine2 = chaine2.replace('51', 'v')
chaine2 = chaine2.replace('52', 'w')
chaine2 = chaine2.replace('53', 'x')
chaine2 = chaine2.replace('54', 'y')
chaine2 = chaine2.replace('55', 'z')
print chaine2
main()
if __name__=="__main__":
main()
Résultat:
Documentation:
http://fr.wikipedia.org/wiki/Carré_de_Polybe
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Pages : 1