E-Bahut julesx Posté(e) le 25 décembre 2022 E-Bahut Signaler Posté(e) le 25 décembre 2022 Bonsoir, Moi, je ne me suis pas posé de problème métaphysique. Celui qui code doit respecter le mode de chiffrage mots en majuscules séparés par un espace, et déchiffrage provenant d'un chiffrage réglementaire. Partant de là, j'aboutis à cela codage pas terminé, j'ai considéré séparément les deux cas, aller et retour (j'avais envisagé un passage aléatoire entre les deux, à venir ?) : D=input("Entrez le message à coder en majuscules en séparant"+"\n"+"les noms par un espace"+"\n") #D="DEUX FOIS TROIS EGAL SIX" l=len(D) L=[] L1=[] for i in range(0,l): if D[i]==" ": c=-1 else: c=2*ord(D[i])-126 L.append(c) for i in range(0,len(L)): if L[i]==-1: print(" ",end="") else: if L[i]<10: print("0"+str(L[i]),end="") else: print(L[i],end="") print("") for i in range(0,l): if D[i]==" ": c=-1 else: c=184-2*ord(D[i]) L1.append(c) for i in range(0,len(L)): if L1[i]==-1: print(" ",end="") else: if L1[i]<10: print("0"+str(L1[i]),end="") else: print(L1[i],end="") décodage D0=input("Entrez le message codé en séparant"+"\n"+"les groupes de chiffres par un espace"+"\n") #D0="48461408 44263818 1620263818 46425432 183808" #D0="362606461408 28264632" l=len(D0) D="" L=[] for i in range(0,l): if D0[i]==" ": D=D+" " else: D=D+D0[i] l=len(D) for i in range(0,l-1,2): if D[i]==" ": c=-1 else: c=int(D[i]+D[i+1])//2-1 L.append(c) for i in range(0,len(L)): if L[i]==-1: print(" ",end="") else: print(chr(26+65-L[i]),end="") print("") for i in range(0,len(L)): if L[i]==-1: print(" ",end="") else: print(chr(64+L[i]),end="") Pour ce soir, ça s’arrête là. A demain, si vous le voulez bien (ça rappelle quelque chose à quelqu’un ?) Citer
E-Bahut PAVE Posté(e) le 25 décembre 2022 E-Bahut Signaler Posté(e) le 25 décembre 2022 @julesx Il n'y a malheureusement pas 1000 francs à gagner....🤣 Citer
E-Bahut julesx Posté(e) le 26 décembre 2022 E-Bahut Signaler Posté(e) le 26 décembre 2022 Bonjour, Comme promis, codage avec un passage aléatoire entre aller et retour: import random D=input("Entrez le message à coder en majuscules en séparant"+"\n"+"les noms par un espace"+"\n") #D="DEUX FOIS TROIS EGAL SIX" l=len(D) L=[] for i in range(0,l): if D[i]==" ": c=-1 else: if random.randint(0, 1)==0: c=2*ord(D[i])-126 else: c=184-2*ord(D[i]) L.append(c) for i in range(0,len(L)): if L[i]==-1: print(" ",end="") else: if L[i]<10: print("0"+str(L[i]),end="") else: print(L[i],end="") A tester avec mon décodage précédent. Pour avoir le bon message, il faudra jongler entre les deux lignes pour trouver ce qui va bien. Exemple : DEUC FORS GIOIS ETZL HRC WVFX ULIH TRLRH VGAO SIX Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.