IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Opérations sur entiers


Sujet :

Calcul scientifique Python

  1. #21
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Je ne sais pas trop comment expliquer mais oui, c'est assez évident : imaginons qu'il y ait 26 lettres dans l'alphabet.
    Comment distinguer au décodage 1 de 27 de 53, ... ?
    Pas d'aide par mp.

  2. #22
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Comment ? En appliquant mod 26 tout simplement. Ça résout le problème et c'est ce que j'ai fait dans mon code.

  3. #23
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Citation Envoyé par Romuald-25 Voir le message
    Comment ? En appliquant mod 26 tout simplement. Ça résout le problème et c'est ce que j'ai fait dans mon code.

    27 = 1 (26)
    53 = 1 (26)
    Pas d'aide par mp.

  4. #24
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Mmm... Du coup, ça m'a mis le doute.
    il faudrait que je voie si c'est vraiment le cas.

    Moi je pars de ces principes (que j'ai pris pour corrects):

    P+f(i) (mod 26) = C
    C-f(i) (mod 26) = P
    Avec P: Plaintext; C: Ciphertext; i: le rang du caractère codé.

    Mais, après réflexion, il peut être intéressant de les vérifier.

  5. #25
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Si tu veux, laisse un programme entier qui tourne.
    Pas d'aide par mp.

  6. #26
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    C'est-à-dire ?

  7. #27
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Ton script.
    Pas d'aide par mp.

  8. #28
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Oui, je l'ai donné là:
    www.developpez.net/forums/attachments/p209794d1463384366/autres-langages/python-zope/calcul-scientifique/pb-d-operations-entiers/cryptage-copie.py/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    #-*- coding:utf-8 -*-
     
    import string
    import math
    import time
    from time import gmtime, strftime
    import decimal
     
     
     
     
    def encoding_calculus(liste, n, s): #une liste, un nombre, un autre nombre
    	chaine_code = []
    	for i in range(0, n):  
    		k = (int(decimal.Decimal(i**3+i**2-13*i-11+liste[i])))%s
    		chaine_code.append(k)
    	return chaine_code
     
    def decoding_calculus(liste, n, s): #une liste, un nombre, un nb
    	chaine_decode = []
    	for i in range(0, n):
    		k = (int(decimal.Decimal(-i**3-i**2+13*i+11+liste[i])))%s #ou n'importe quelle fonction opérant sur entiers (polynômes...)
    		chaine_decode.append(k)
    	return chaine_decode
     
    def encrypt(mot):
     
     
    	alphabet = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '–', ' ', '\n', '’', '\t', '²']
     
    	print("L'alphabet utilisé est :", alphabet)
     
     
    	mot_nb = []
     
    	for caractere in mot:
    		position = alphabet.index(caractere) #position = alphabet.find(caractere)
    		mot_nb.append(position) # On ajoute les rangs de chaque caractère du mot en caractères dans la liste du mot en numérique
     
    	print("Votre mot : '", mot, "' comporte", len(mot), "caractères et correspond à :", mot_nb)
    	mot_code_liste = []
    	mot_code_nb = encoding_calculus(mot_nb, len(mot), len(alphabet)) # On encode le mot en nombres grâce à la fonction
     
    	for i in mot_code_nb: # On met les valeurs du mot codé en nombres en caractères corrrespondants que l'on ajoute dansune liste
    		letter_code = alphabet[int(i)] # On mémorise le rang du nombre codé
    		mot_code_liste.append(letter_code) # On associe un caractère que l'on ajoute à une liste
     
     
    	mot_code = ""
    	for i in range(0, len(mot)): # Pour la liste des caractères codés
    		mot_code += mot_code_liste[i] # On ajoute chaque élément de la liste dans une valeur chaîne de caractères
    	print("Le mot codé : '", mot_code, "' correspond à :", mot_code_nb)
    	return mot_code
     
    def decrypt(mot_code):
     
    	alphabet = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '–', ' ', '\n', '’', '\t', '²']
     
     
    	mot_code_nb = []
     
    	for caractere in mot_code:
    		position = alphabet.index(caractere) #position = alphabet.find(caractere)
    		mot_code_nb.append(position) # On ajoute les rangs de chaque caractère du mot codé en caractères dans la liste du même mot en numérique
     
    	print("Votre mot : '", mot_code, "' comporte", len(mot_code), "caractères et correspond à :", mot_code_nb)
     
    	# DEUXIEME PARTIE
     
    	mot_nb = decoding_calculus(mot_code_nb, len(mot_code), len(alphabet)) # On décode le mot en nombres grâce à la fonction
     
    	mot_liste = []
    	for i in mot_nb: # On met les valeurs du mot décodé en nombres en caractères corrrespondants que l'on ajoute dansune liste
    		letter = alphabet[int(i)] # On mémorise le rang du nombre codé
    		mot_liste.append(letter) # On associe un caractère que l'on ajoute à une liste
     
     
    	mot_decode = ""
    	for i in range(0, len(mot_code)): # Pour la liste des caractères codés
    		mot_decode += mot_liste[i] # On ajoute chaque élément de la liste dans une valeur chaîne de caractères
    	print("Le mot décodé : '", mot_decode, "' correspond à :", mot_nb)
    	return mot_decode
     
    t1 = time.time()
     
     
    # ENCODAGE
    plaintext = open("plaintext.txt", "r")
    mot = plaintext.read()
    codage = encrypt(mot)
     
    ciphertext = open("ciphertext.txt", "w") # 'a' pour "append" (ajouter) ou 'w' pour write (et écraser tout le contenu)
    ciphertext.write(codage)
    ciphertext.close()
    plaintext.close()
     
     
     
    # DECODAGE
    ciphertext = open("ciphertext.txt", "r")
    mot = ciphertext.read()
    decodage = decrypt(mot)
     
    decrypted_text = open("decrypted_text.txt", "w")
    decrypted_text.write(decodage)
    decrypted_text.close()
    ciphertext.close()
     
    t2 = time.time() - t1
    print("Temps d'éxécution :", t2)
    print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))

  9. #29
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    J'ai remplacé une petite partie pour qu'il tourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # ENCODAGE
    #plaintext = open("plaintext.txt", "r")
    #mot = plaintext.read()
    mot = "ABCDEFGHIJKLMNOPQRSTUVWYZabcdefgh   ijklmnopqrstuvwyz0123456789 é è ô à"
    codage = encrypt(mot)
     
    ciphertext = open("ciphertext.txt", "w") # 'a' pour "append" (ajouter) ou 'w' pour write (et écraser tout le contenu)
    ciphertext.write(codage)
    ciphertext.close()
    #plaintext.close()
    Cela me donne ceci, donc a priori pas de souci, si ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    L'alphabet utilisé est : ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '', ' ', '\n', '', '\t', '²']
    Votre mot : ' ABCDEFGHIJKLMNOPQRSTUVWYZabcdefgh   ijklmnopqrstuvwyz0123456789 é è ô à ' comporte 71 caractères et correspond à : [51, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 10, 13, 14, 16, 17, 22, 23, 24, 121, 121, 121, 25, 28, 29, 30, 31, 32, 34, 37, 38, 39, 40, 41, 42, 46, 47, 49, 50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 121, 18, 121, 19, 121, 35, 121, 12]
    Le mot codé : ' sñmûNç<>î’g]ç-AHÂ9H_ëAV ÀxhlNp ²tÉñ
    hf      Wo>Db@,{p04Èûqï!;SfËSUMwÈñGNv(_ ' correspond à : [40, 33, 31, 43, 75, 15, 105, 107, 27, 123, 23, 111, 15, 119, 51, 69, 53, 9, 69, 113, 21, 51, 83, 124, 52, 48, 24, 30, 75, 37, 53, 121, 125, 41, 60, 33, 122, 24, 22, 124, 84, 34, 107, 57, 13, 109, 99, 115, 37, 0, 4, 59, 43, 38, 26, 88, 104, 80, 22, 62, 80, 82, 74, 47, 59, 33, 68, 75, 46, 95, 113]
    Votre mot : ' sñmûNç<>î’g]ç-AHÂ9H_ëAV   ÀxhlNp ²tÉñ
    hf      Wo>Db@,{p04Èûqï!;SfËSUMwÈñGNv(_ ' comporte 71 caractères et correspond à : [40, 33, 31, 43, 75, 15, 105, 107, 27, 123, 23, 111, 15, 100, 51, 69, 53, 9, 69, 113, 21, 51, 83, 124, 52, 48, 24, 30, 75, 37, 53, 121, 125, 41, 60, 33, 122, 24, 22, 124, 84, 34, 107, 57, 13, 109, 99, 115, 37, 0, 4, 59, 43, 38, 26, 88, 104, 80, 22, 62, 80, 82, 74, 47, 59, 33, 68, 75, 46, 95, 113]
    Le mot décodé : ' ABCDEFGHIJKLMCOPQRSTUVWYZabcdefgh   ijklmnopqrstuvwyz0123456789 é è ô à ' correspond à : [51, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 56, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 10, 13, 14, 16, 17, 22, 23, 24, 121, 121, 121, 25, 28, 29, 30, 31, 32, 34, 37, 38, 39, 40, 41, 42, 46, 47, 49, 50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 121, 18, 121, 19, 121, 35, 121, 12]
    Temps d'éxécution : 0.0008368492126464844
    Wed, 18 May 2016 16:16:20 +0000
    Pas d'aide par mp.

  10. #30
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Non, pas de souci ici, en effet, sauf pour les très grands textes.
    Exemple: j'ai essayé d'encoder un message déjà crypté avec GPG (les lettres sont quasi-aléatoires, bien réparties au niveau des fréquences et la densité du texte est élevée), et en passant du plaintext.txt d'origine au decrypted_message.txt final, rapidement grâce aux onglets (dans NPP), j'ai pu voir qu'il y avait des erreurs (certes, pas nombreuses, mais existantes).

  11. #31
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Si je code cette phrase:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Non, pas de souci ici, en effet, sauf pour les très grands textes.
    Voilà ce qu'il me renvoie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Non, pas de/souci ici, en effet, sauf pour les très grands textes.
    Et ça peut être n'importe quel caractère qui n'a absolument rien à voir, un retour à la ligne intempestif (donc \n), un dollar, une autre lettre, n'importe quoi.

  12. #32
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Ok, je vois.
    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    # -*- coding: utf-8 -*-
     
    import string
    import math
    import time
    from time import gmtime, strftime
    import decimal
    import numpy as np
     
     
     
     
    def encoding_calculus(liste, n, s): #une liste, un nombre, un autre nombre
        chaine_code = []
        for i in range(0, n):  
            k = (int(decimal.Decimal(i**3+i**2-13*i-11+liste[i])))%s
            chaine_code.append(k)
        return chaine_code
     
    def decoding_calculus(liste, n, s): #une liste, un nombre, un nb
        chaine_decode = []
        for i in range(0, n):
            k = (int(decimal.Decimal(-i**3-i**2+13*i+11+liste[i])))%s #ou n'importe quelle fonction opérant sur entiers (polynômes...)
            chaine_decode.append(k)
        return chaine_decode
     
    def encrypt(mot):
        global mot_code_nb
     
        alphabet = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '–', ' ', '\n', '’', '\t', '²']
     
        print("L'alphabet utilisé est :", alphabet)
     
     
        mot_nb = []
     
        for caractere in mot:
            position = alphabet.index(caractere) #position = alphabet.find(caractere)
            mot_nb.append(position) # On ajoute les rangs de chaque caractère du mot en caractères dans la liste du mot en numérique
     
        print("Votre mot : '", mot, "' comporte", len(mot), "caractères et correspond à :", mot_nb)
        mot_code_liste = []
        mot_code_nb = encoding_calculus(mot_nb, len(mot), len(alphabet)) # On encode le mot en nombres grâce à la fonction
     
        for i in mot_code_nb: # On met les valeurs du mot codé en nombres en caractères corrrespondants que l'on ajoute dansune liste
            letter_code = alphabet[int(i)] # On mémorise le rang du nombre codé
            mot_code_liste.append(letter_code) # On associe un caractère que l'on ajoute à une liste
     
     
        mot_code = ""
        for i in range(0, len(mot)): # Pour la liste des caractères codés
            mot_code += mot_code_liste[i] # On ajoute chaque élément de la liste dans une valeur chaîne de caractères
        print("Le mot codé : '", mot_code, "' correspond à :", mot_code_nb)
        return mot_code
     
    def decrypt(mot_code):
     
     
        global mot_code_nb_d
        alphabet = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '–', ' ', '\n', '’', '\t', '²']
     
     
        mot_code_nb_d = []
     
        for caractere in mot_code:
            position = alphabet.index(caractere) #position = alphabet.find(caractere)
            mot_code_nb_d.append(position) # On ajoute les rangs de chaque caractère du mot codé en caractères dans la liste du même mot en numérique
     
        print("Votre mot : '", mot_code, "' comporte", len(mot_code), "caractères et correspond à :", mot_code_nb_d)
     
        # DEUXIEME PARTIE
     
        mot_nb = decoding_calculus(mot_code_nb_d, len(mot_code), len(alphabet)) # On décode le mot en nombres grâce à la fonction
     
        mot_liste = []
        for i in mot_nb: # On met les valeurs du mot décodé en nombres en caractères corrrespondants que l'on ajoute dansune liste
            letter = alphabet[int(i)] # On mémorise le rang du nombre codé
            mot_liste.append(letter) # On associe un caractère que l'on ajoute à une liste
     
     
        mot_decode = ""
        for i in range(0, len(mot_code)): # Pour la liste des caractères codés
            mot_decode += mot_liste[i] # On ajoute chaque élément de la liste dans une valeur chaîne de caractères
        print("Le mot décodé : '", mot_decode, "' correspond à :", mot_nb)
        return mot_decode
     
    t1 = time.time()
     
     
    # ENCODAGE
    plaintext = open("poeme.txt", "r")
    mot = plaintext.read()
    #mot = "ABCDEFGHIJKLMNOPQRSTUVWYZabcdefgh   ijklmnopqrstuvwyz0123456789 é è ô à"
    codage = encrypt(mot)
     
    ciphertext = open("ciphertext.txt", "w") # 'a' pour "append" (ajouter) ou 'w' pour write (et écraser tout le contenu)
    ciphertext.write(codage)
    ciphertext.close()
    #plaintext.close()
     
     
     
    # DECODAGE
    ciphertext = open("ciphertext.txt", "r")
    mot = ciphertext.read()
    decodage = decrypt(mot)
     
    decrypted_text = open("decrypted_text.txt", "w")
    decrypted_text.write(decodage)
    decrypted_text.close()
    ciphertext.close()
     
    t2 = time.time() - t1
    print("Temps d'éxécution :", t2)
    print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))
     
    liste1 = np.array(mot_code_nb)
    liste2 = np.array(mot_code_nb_d)
    liste = liste1 - liste2
    print(list(liste))
    print([i for i, x in enumerate(liste) if x == 19])
    Le fichier txt est à changer, bien sûr.
    Etrangement, on obtient toujours le même décalage chez moi : 19 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    L'alphabet utilisé est : ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'â', 'à', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'ï', 'î', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'ô', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'û', 'ù', 'ü', 'v', 'w', 'x', 'y', 'z', 'A', 'À', 'Â', 'Á', 'B', 'C', 'D', 'E', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '_', '`', '{', '|', '}', '~', '-', '', ' ', '\n', '', '\t', '²']
    Votre mot : ' Peindre d'abord une cage
    avec une porte ouverte
    peindre ensuite
    quelque chose de joli
    quelque chose de simple
    quelque chose de beau
    quelque chose d'utile
    pour l'oiseau
     
    Placer ensuite la toile contre un arbre
    dans un jardin
    dans un bois
    ou dans une forêt
    se cacher derrière l'arbre
    sans rien dire
    sans bouger...
     
    Parfois l'oiseau arrive vite
    mais il peut aussi bien mettre de longues années
    avant de se décider
     
    Ne pas se décourager
    attendre
    attendre s'il le faut pendant des années
    la vitesse ou la lenteur de l'arrivée
    de l'oiseau n'ayant aucun rapport
    avec la réussite du tableau
     
    Quand l'oiseau arrive
    s'il arrive
    observer le plus profond silence
    attendre que l'oiseau entre dans la cage
    et quand il est entré
    fermer doucement la porte avec le pinceau
    puis
    effacer un à un les barreaux
    et ayant soin de ne toucher aucune des plumes del'oiseau
    faire ensuite le portrait de l'arbre
    en choisissant la plus belle de ses branches
    pour l'oiseau
    peindre aussi le vert feuillage et la fraîcheur du vent
    la poussière du soleil
    et le bruit des bêtes de l'herbe dans la chaleur de l'été
    et puis attendre que l'oiseau se décide à chanter
     
    Si l'oiseau ne chante pas
    c'est mauvais signe
    mais s'il chante c'est bon signe
    signe que vous pouvez signer
    alors vous arrachez tout doucement
    une des plumes de l'oiseau
    et vous écrivez votre nom dans un coin du tableau.
     
    Jacques Prévert.
     ' comporte 1370 caractères et correspond à : [77, 17, 25, 32, 16, 39, 17, 121, 16, 94, 10, 13, 34, 39, 16, 121, 42, 32, 17, 121, 14, 10, 23, 17, 122, 10, 46, 17, 14, 121, 42, 32, 17, 121, 37, 34, 39, 41, 17, 121, 34, 42, 46, 17, 39, 41, 17, 122, 37, 17, 25, 32, 16, 39, 17, 121, 17, 32, 40, 42, 25, 41, 17, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 28, 34, 30, 25, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 40, 25, 31, 37, 30, 17, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 13, 17, 10, 42, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 94, 42, 41, 25, 30, 17, 122, 37, 34, 42, 39, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 122, 77, 30, 10, 14, 17, 39, 121, 17, 32, 40, 42, 25, 41, 17, 121, 30, 10, 121, 41, 34, 25, 30, 17, 121, 14, 34, 32, 41, 39, 17, 121, 42, 32, 121, 10, 39, 13, 39, 17, 122, 16, 10, 32, 40, 121, 42, 32, 121, 28, 10, 39, 16, 25, 32, 122, 16, 10, 32, 40, 121, 42, 32, 121, 13, 34, 25, 40, 122, 34, 42, 121, 16, 10, 32, 40, 121, 42, 32, 17, 121, 22, 34, 39, 20, 41, 122, 40, 17, 121, 14, 10, 14, 24, 17, 39, 121, 16, 17, 39, 39, 25, 19, 39, 17, 121, 30, 94, 10, 39, 13, 39, 17, 122, 40, 10, 32, 40, 121, 39, 25, 17, 32, 121, 16, 25, 39, 17, 122, 40, 10, 32, 40, 121, 13, 34, 42, 23, 17, 39, 101, 101, 101, 122, 122, 77, 10, 39, 22, 34, 25, 40, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 10, 39, 39, 25, 46, 17, 121, 46, 25, 41, 17, 122, 31, 10, 25, 40, 121, 25, 30, 121, 37, 17, 42, 41, 121, 10, 42, 40, 40, 25, 121, 13, 25, 17, 32, 121, 31, 17, 41, 41, 39, 17, 121, 16, 17, 121, 30, 34, 32, 23, 42, 17, 40, 121, 10, 32, 32, 18, 17, 40, 122, 10, 46, 10, 32, 41, 121, 16, 17, 121, 40, 17, 121, 16, 18, 14, 25, 16, 17, 39, 122, 122, 75, 17, 121, 37, 10, 40, 121, 40, 17, 121, 16, 18, 14, 34, 42, 39, 10, 23, 17, 39, 122, 10, 41, 41, 17, 32, 16, 39, 17, 122, 10, 41, 41, 17, 32, 16, 39, 17, 121, 40, 94, 25, 30, 121, 30, 17, 121, 22, 10, 42, 41, 121, 37, 17, 32, 16, 10, 32, 41, 121, 16, 17, 40, 121, 10, 32, 32, 18, 17, 40, 122, 30, 10, 121, 46, 25, 41, 17, 40, 40, 17, 121, 34, 42, 121, 30, 10, 121, 30, 17, 32, 41, 17, 42, 39, 121, 16, 17, 121, 30, 94, 10, 39, 39, 25, 46, 18, 17, 122, 16, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 32, 94, 10, 49, 10, 32, 41, 121, 10, 42, 14, 42, 32, 121, 39, 10, 37, 37, 34, 39, 41, 122, 10, 46, 17, 14, 121, 30, 10, 121, 39, 18, 42, 40, 40, 25, 41, 17, 121, 16, 42, 121, 41, 10, 13, 30, 17, 10, 42, 122, 122, 78, 42, 10, 32, 16, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 10, 39, 39, 25, 46, 17, 122, 40, 94, 25, 30, 121, 10, 39, 39, 25, 46, 17, 122, 34, 13, 40, 17, 39, 46, 17, 39, 121, 30, 17, 121, 37, 30, 42, 40, 121, 37, 39, 34, 22, 34, 32, 16, 121, 40, 25, 30, 17, 32, 14, 17, 122, 10, 41, 41, 17, 32, 16, 39, 17, 121, 38, 42, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 17, 32, 41, 39, 17, 121, 16, 10, 32, 40, 121, 30, 10, 121, 14, 10, 23, 17, 122, 17, 41, 121, 38, 42, 10, 32, 16, 121, 25, 30, 121, 17, 40, 41, 121, 17, 32, 41, 39, 18, 122, 22, 17, 39, 31, 17, 39, 121, 16, 34, 42, 14, 17, 31, 17, 32, 41, 121, 30, 10, 121, 37, 34, 39, 41, 17, 121, 10, 46, 17, 14, 121, 30, 17, 121, 37, 25, 32, 14, 17, 10, 42, 122, 37, 42, 25, 40, 122, 17, 22, 22, 10, 14, 17, 39, 121, 42, 32, 121, 12, 121, 42, 32, 121, 30, 17, 40, 121, 13, 10, 39, 39, 17, 10, 42, 48, 122, 17, 41, 121, 10, 49, 10, 32, 41, 121, 40, 34, 25, 32, 121, 16, 17, 121, 32, 17, 121, 41, 34, 42, 14, 24, 17, 39, 121, 10, 42, 14, 42, 32, 17, 121, 16, 17, 40, 121, 37, 30, 42, 31, 17, 40, 121, 16, 17, 30, 94, 34, 25, 40, 17, 10, 42, 122, 22, 10, 25, 39, 17, 121, 17, 32, 40, 42, 25, 41, 17, 121, 30, 17, 121, 37, 34, 39, 41, 39, 10, 25, 41, 121, 16, 17, 121, 30, 94, 10, 39, 13, 39, 17, 122, 17, 32, 121, 14, 24, 34, 25, 40, 25, 40, 40, 10, 32, 41, 121, 30, 10, 121, 37, 30, 42, 40, 121, 13, 17, 30, 30, 17, 121, 16, 17, 121, 40, 17, 40, 121, 13, 39, 10, 32, 14, 24, 17, 40, 122, 37, 34, 42, 39, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 37, 17, 25, 32, 16, 39, 17, 121, 10, 42, 40, 40, 25, 121, 30, 17, 121, 46, 17, 39, 41, 121, 22, 17, 42, 25, 30, 30, 10, 23, 17, 121, 17, 41, 121, 30, 10, 121, 22, 39, 10, 27, 14, 24, 17, 42, 39, 121, 16, 42, 121, 46, 17, 32, 41, 122, 30, 10, 121, 37, 34, 42, 40, 40, 25, 19, 39, 17, 121, 16, 42, 121, 40, 34, 30, 17, 25, 30, 122, 17, 41, 121, 30, 17, 121, 13, 39, 42, 25, 41, 121, 16, 17, 40, 121, 13, 20, 41, 17, 40, 121, 16, 17, 121, 30, 94, 24, 17, 39, 13, 17, 121, 16, 10, 32, 40, 121, 30, 10, 121, 14, 24, 10, 30, 17, 42, 39, 121, 16, 17, 121, 30, 94, 18, 41, 18, 122, 17, 41, 121, 37, 42, 25, 40, 121, 10, 41, 41, 17, 32, 16, 39, 17, 121, 38, 42, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 40, 17, 121, 16, 18, 14, 25, 16, 17, 121, 12, 121, 14, 24, 10, 32, 41, 17, 39, 122, 122, 80, 25, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 32, 17, 121, 14, 24, 10, 32, 41, 17, 121, 37, 10, 40, 122, 14, 94, 17, 40, 41, 121, 31, 10, 42, 46, 10, 25, 40, 121, 40, 25, 23, 32, 17, 122, 31, 10, 25, 40, 121, 40, 94, 25, 30, 121, 14, 24, 10, 32, 41, 17, 121, 14, 94, 17, 40, 41, 121, 13, 34, 32, 121, 40, 25, 23, 32, 17, 122, 40, 25, 23, 32, 17, 121, 38, 42, 17, 121, 46, 34, 42, 40, 121, 37, 34, 42, 46, 17, 50, 121, 40, 25, 23, 32, 17, 39, 122, 10, 30, 34, 39, 40, 121, 46, 34, 42, 40, 121, 10, 39, 39, 10, 14, 24, 17, 50, 121, 41, 34, 42, 41, 121, 16, 34, 42, 14, 17, 31, 17, 32, 41, 122, 42, 32, 17, 121, 16, 17, 40, 121, 37, 30, 42, 31, 17, 40, 121, 16, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 17, 41, 121, 46, 34, 42, 40, 121, 18, 14, 39, 25, 46, 17, 50, 121, 46, 34, 41, 39, 17, 121, 32, 34, 31, 121, 16, 10, 32, 40, 121, 42, 32, 121, 14, 34, 25, 32, 121, 16, 42, 121, 41, 10, 13, 30, 17, 10, 42, 101, 122, 122, 71, 10, 14, 38, 42, 17, 40, 121, 77, 39, 18, 46, 17, 39, 41, 101, 122]
    Le mot codé : ' Ï 0éñ_Áñ,êZA.V}_e!6îR;fBZxDñLçL4~t/Kapa"Zù-pc]OIn*?u9PuT~?D++{UxRSÏ[yd~ç3q9ù    ñJB`S3nCEbI~;}q-"yËeu~kNLïl#t–Gh~y-oz]+~VpËw–a5îè[}~
    ÈINS-U{SWr{d9)6îTËtR|Gjà)ÁLâ)OñK
    öa;(    H*5SL$oN-uñSz1~JwÏG{,PJBù'ü669eö/x'AnH$ét'çge=Mh&7AÌç }ù$)ïn*5)Knö7%Èç"Ï72éSü*`nüt9è*ïoHAx*O'PËÉ~mcT8JU"k6.PhBOdJ?7YÉP
    bi"Hî^p*[H=ôN)ùôÊu²OA~ÀHiN$ÌKM–64HÁcÁ~cgñÎPnPçèï?0H~I[6?8lÌb’àA.*ï0>z’Ì29öNyç;Ld3ËB8)a5töë1e3DHwI{I'QÌÁë27*[xU"rBYÁklWöxâ*ucB%ñ38xu#ç}!L?p-&ñaPë)d}o!"_UxAR#*û|cp[ÁHkâñXB`M<ùKDàü7#"j   "ABg’]Ï$MxlÊs&ñÂëÀNDÉ#A94éGgNgîûû6êc>ñ$nGAË|P%#-9*K6î(ËñÌ5BëEÁÀ²?hC*R%6ô?(oGÈ]>)?o RêrBrT5Yà($|<%ÏRÏNîd)ʲî5ë}SAoJ'<owD5
    9,-b&alxft0SOÀJW#sQxvôö;od>Hç<ËWl-`sj’ï8eïà]OK<Y@ÁËW0f~!3yÊ;sR?IîBOçHc~t(65ëñ]ÌùGp7]+$|)&uññB))#îR#IU&öO$#û|)üè9~ùfñKIo$_       ÂRcÈ~_Mà}ayBcè7NÁYt]/ù
    Rh}ë;ooGY~VÉÌü'aê      ïê0ïb$ÈÉ&Ï'PËY7__AmÍÉ   dQYAëB+ptcguUR%6u;XûGÉ9($Hâ*QuañÏ–e#tL^HN'BST*6|~É[A5vàB(ñ9H²)ÎZçü]|Né&-MB;è7M.TK7És-ñùlz,Cl+*);sñûx3yht6-~éà!ÊK?%/Q>Á7ñ)Y²î/   tQYAjv"pï`~t<Bâ}67ÌoZù~[B]k
     
    5g6È]ç&î+H]UPLÁ!*6[eÉkr)o       ñ.Bn&#hx;0E5W/bQ]Oñbà)C+ÏE4"î²P2àÂÂÌp<**~ññz`ôzAî8e~>ñ|nQ}U'Ì*s~ñ)Y6îQ7tÌ6ñîñ,çù~dÌ<ñ_b`        ëï#È`ZÁ#5^’5gxê-²YwL{_ÉGEñRxkç-d6B)tgÌ(ñ3&aèÌQcü)^ bQ   3K8u~ù.AJ7Éï.ÀnàjÂkçZS]–ÍBÀO{#ö’èK9âD$wSQW'ñTG]hdL[HN8 ÀÈBADÁAtcëC#Q%öé}XèHA](,Hôx?s`Ày)7}oAZuU%UñË`û(çüàv~0ëÌQIaw7ùxDëËe`Mñ}aTBñ’çÈU!xkÊê_Kvö6;AË_A]1Ëxî;aÉ6ûgêd>ñ?RÀ-V'I?seh~A5y<"öG7HjCÁöx&5c,Ìâb3ayè`çë;.`|+*yéWua)
    A*^$ÉWNHù)ë6ççmv)éçÌZñ9'#ûtN5ü]|Á~RrüÀëù~MÁ7I8]î
    R?~ ' correspond à : [66, 121, 0, 18, 33, 113, 54, 33, 99, 20, 87, 51, 101, 83, 117, 113, 17, 88, 6, 27, 79, 104, 22, 55, 87, 48, 57, 33, 73, 15, 73, 4, 118, 41, 102, 72, 10, 37, 10, 89, 87, 44, 119, 37, 14, 111, 76, 70, 32, 97, 108, 42, 9, 77, 42, 81, 118, 108, 57, 98, 98, 115, 82, 48, 79, 80, 66, 110, 49, 16, 118, 15, 3, 38, 9, 44, 124, 33, 71, 55, 114, 80, 3, 32, 56, 58, 13, 70, 118, 104, 117, 38, 100, 89, 49, 62, 17, 42, 118, 29, 75, 73, 26, 30, 90, 41, 120, 68, 24, 118, 49, 100, 34, 50, 111, 98, 118, 83, 37, 62, 47, 120, 10, 5, 27, 19, 110, 117, 118, 122, 59, 70, 75, 80, 100, 82, 115, 80, 84, 39, 115, 16, 9, 96, 6, 27, 81, 62, 41, 79, 116, 68, 28, 12, 96, 54, 73, 11, 96, 76, 33, 72, 122, 36, 10, 104, 95, 124, 69, 97, 5, 80, 73, 91, 34, 75, 100, 42, 33, 80, 50, 1, 118, 71, 47, 66, 68, 115, 99, 77, 71, 55, 44, 94, 45, 6, 16, 59, 6, 9, 17, 36, 102, 48, 94, 51, 32, 69, 91, 18, 41, 94, 15, 23, 17, 106, 74, 24, 93, 7, 51, 63, 15, 124, 117, 44, 91, 96, 26, 32, 97, 5, 96, 72, 32, 36, 7, 92, 59, 15, 89, 66, 7, 2, 18, 80, 45, 97, 114, 32, 45, 41, 9, 19, 97, 26, 34, 69, 51, 48, 97, 76, 94, 77, 62, 60, 118, 31, 14, 81, 8, 71, 82, 89, 29, 6, 101, 77, 24, 55, 76, 16, 71, 108, 7, 86, 60, 77, 122, 13, 25, 89, 69, 27, 112, 37, 97, 110, 69, 106, 35, 75, 96, 44, 35, 61, 42, 125, 76, 51, 118, 52, 69, 25, 75, 91, 63, 72, 74, 120, 6, 4, 69, 54, 14, 54, 118, 14, 23, 33, 65, 77, 32, 77, 15, 19, 26, 108, 0, 69, 118, 70, 110, 6, 108, 8, 30, 63, 13, 123, 12, 51, 101, 97, 26, 0, 107, 50, 123, 63, 2, 9, 36, 75, 49, 15, 104, 73, 16, 3, 62, 55, 8, 96, 10, 5, 41, 36, 21, 1, 17, 3, 57, 69, 47, 70, 115, 70, 94, 78, 63, 54, 21, 2, 7, 97, 110, 48, 82, 89, 39, 55, 86, 54, 29, 30, 84, 36, 48, 11, 97, 42, 14, 55, 92, 33, 3, 8, 48, 42, 90, 15, 117, 88, 73, 108, 37, 119, 93, 33, 10, 77, 21, 96, 16, 117, 34, 88, 89, 113, 82, 48, 51, 79, 90, 97, 43, 116, 14, 37, 110, 54, 69, 29, 11, 33, 85, 55, 114, 74, 105, 44, 72, 57, 12, 45, 7, 90, 89, 28, 124, 89, 51, 55, 23, 123, 111, 66, 91, 74, 48, 30, 61, 40, 93, 33, 53, 21, 52, 75, 57, 60, 90, 51, 9, 4, 18, 68, 23, 75, 23, 27, 43, 43, 6, 20, 14, 107, 33, 91, 32, 68, 51, 62, 116, 77, 92, 90, 119, 9, 97, 72, 6, 27, 95, 62, 33, 63, 5, 55, 21, 58, 54, 52, 125, 108, 24, 56, 97, 79, 92, 6, 35, 108, 95, 34, 68, 59, 111, 107, 96, 108, 34, 121, 79, 20, 39, 55, 39, 81, 5, 86, 12, 95, 91, 116, 105, 92, 66, 79, 66, 75, 27, 16, 96, 61, 125, 27, 5, 21, 117, 80, 51, 34, 71, 94, 105, 34, 47, 57, 5, 122, 9, 99, 119, 13, 93, 10, 30, 48, 22, 41, 0, 80, 76, 52, 71, 84, 90, 40, 78, 48, 46, 35, 36, 104, 34, 16, 107, 69, 15, 105, 62, 84, 30, 119, 114, 40, 28, 123, 26, 8, 17, 26, 12, 111, 76, 72, 105, 86, 109, 54, 62, 84, 0, 22, 118, 88, 3, 49, 61, 104, 40, 79, 108, 70, 27, 55, 76, 15, 69, 14, 118, 41, 95, 6, 5, 21, 33, 111, 63, 44, 68, 37, 7, 111, 98, 91, 116, 96, 93, 42, 33, 33, 55, 96, 96, 90, 27, 79, 90, 70, 82, 93, 36, 76, 91, 90, 43, 116, 96, 45, 19, 9, 118, 44, 22, 33, 72, 70, 34, 91, 113, 124, 53, 79, 14, 59, 118, 113, 74, 12, 117, 10, 49, 55, 14, 19, 7, 75, 54, 86, 41, 111, 102, 44, 122, 79, 24, 117, 21, 104, 34, 34, 68, 86, 118, 83, 60, 63, 45, 94, 10, 20, 53, 124, 26, 20, 0, 26, 13, 91, 59, 60, 93, 66, 94, 77, 62, 86, 7, 113, 113, 51, 31, 64, 60, 124, 16, 78, 86, 51, 21, 55, 98, 37, 41, 14, 23, 42, 82, 79, 92, 6, 42, 104, 85, 43, 68, 60, 9, 95, 91, 69, 11, 97, 78, 42, 10, 33, 66, 120, 17, 90, 41, 73, 112, 69, 75, 94, 55, 80, 81, 97, 6, 116, 118, 60, 110, 51, 5, 46, 12, 55, 95, 33, 9, 69, 125, 96, 65, 87, 15, 45, 111, 116, 75, 18, 93, 119, 74, 55, 104, 19, 7, 74, 101, 81, 72, 7, 60, 40, 100, 33, 44, 30, 50, 99, 56, 30, 98, 97, 96, 104, 40, 33, 43, 48, 3, 49, 24, 41, 6, 100, 118, 18, 12, 88, 61, 72, 108, 92, 102, 78, 107, 54, 7, 33, 96, 86, 125, 27, 102, 124, 41, 78, 86, 51, 28, 46, 89, 37, 26, 114, 118, 41, 105, 55, 11, 117, 6, 7, 63, 34, 87, 44, 118, 110, 55, 111, 29, 122, 122, 5, 23, 6, 59, 111, 15, 93, 27, 98, 69, 111, 82, 77, 73, 54, 88, 97, 6, 110, 17, 60, 29, 39, 96, 34, 124, 33, 101, 55, 32, 93, 90, 24, 48, 104, 0, 58, 5, 84, 102, 13, 78, 111, 76, 33, 13, 12, 96, 56, 98, 66, 58, 4, 89, 27, 125, 77, 2, 12, 53, 53, 63, 37, 105, 97, 97, 118, 33, 33, 50, 114, 35, 50, 51, 27, 8, 17, 118, 107, 33, 116, 32, 78, 117, 82, 94, 63, 97, 40, 118, 33, 96, 86, 6, 27, 78, 7, 41, 63, 6, 33, 27, 33, 99, 15, 44, 118, 16, 63, 105, 33, 113, 13, 114, 124, 21, 26, 90, 59, 114, 87, 54, 90, 5, 112, 123, 5, 23, 48, 20, 100, 125, 86, 47, 73, 115, 113, 60, 68, 58, 33, 79, 48, 29, 15, 119, 16, 6, 55, 96, 41, 23, 63, 95, 33, 3, 93, 10, 19, 63, 78, 14, 45, 96, 112, 121, 13, 78, 124, 3, 72, 8, 42, 118, 44, 101, 51, 71, 7, 60, 26, 101, 52, 32, 12, 28, 53, 29, 15, 87, 80, 111, 120, 64, 55, 52, 76, 115, 90, 36, 123, 19, 72, 9, 11, 57, 91, 47, 80, 78, 84, 94, 33, 81, 68, 111, 24, 16, 73, 110, 69, 75, 8, 121, 52, 59, 55, 51, 57, 54, 51, 41, 14, 21, 56, 90, 78, 92, 36, 18, 117, 85, 19, 69, 51, 111, 95, 99, 69, 35, 48, 108, 40, 114, 52, 49, 96, 7, 117, 34, 51, 87, 42, 82, 92, 82, 33, 62, 114, 43, 95, 15, 45, 12, 46, 118, 0, 21, 63, 78, 70, 10, 47, 7, 44, 48, 57, 21, 62, 17, 114, 74, 33, 117, 10, 81, 55, 33, 123, 15, 59, 82, 88, 48, 29, 61, 20, 113, 72, 46, 36, 6, 104, 51, 62, 113, 51, 111, 1, 62, 48, 27, 104, 10, 60, 6, 43, 23, 20, 16, 107, 33, 108, 79, 52, 100, 83, 94, 70, 108, 40, 17, 24, 118, 51, 5, 49, 105, 89, 36, 68, 7, 69, 28, 56, 54, 36, 48, 93, 5, 14, 99, 63, 11, 13, 3, 10, 49, 19, 114, 15, 21, 104, 101, 114, 116, 98, 97, 49, 18, 84, 42, 10, 96, 122, 51, 97, 112, 91, 60, 84, 75, 69, 44, 96, 21, 6, 15, 15, 31, 46, 96, 18, 15, 63, 87, 33, 9, 94, 90, 43, 41, 75, 5, 45, 111, 116, 54, 118, 79, 39, 45, 52, 21, 44, 118, 74, 54, 7, 70, 8, 111, 27, 122, 79, 108, 118]
    Votre mot : ' Ï 0éñ_Áñ,êZA.V}_e!6îR;fBZxDñLçL4~t/Kapa"Zù-pc]OIn*?u9PuT~?D++{UxRSÏ[yd~ç3q9ù      ñJB`S3nCEbI~;}q-"yËeu~kNLïl#t–Gh~y-oz]+~VpËw–a5îè[}~
    ÈINS-U{SWr{d9)6îTËtR|Gjà)ÁLâ)OñK
    öa;(    H*5SL$oN-uñSz1~JwÏG{,PJBù'ü669eö/x'AnH$ét'çge=Mh&7AÌç }ù$)ïn*5)Knö7%Èç"Ï72éSü*`nüt9è*ïoHAx*O'PËÉ~mcT8JU"k6.PhBOdJ?7YÉP
    bi"Hî^p*[H=ôN)ùôÊu²OA~ÀHiN$ÌKM–64HÁcÁ~cgñÎPnPçèï?0H~I[6?8lÌb’àA.*ï0>z’Ì29öNyç;Ld3ËB8)a5töë1e3DHwI{I'QÌÁë27*[xU"rBYÁklWöxâ*ucB%ñ38xu#ç}!L?p-&ñaPë)d}o!"_UxAR#*û|cp[ÁHkâñXB`M<ùKDàü7#"j   "ABg’]Ï$MxlÊs&ñÂëÀNDÉ#A94éGgNgîûû6êc>ñ$nGAË|P%#-9*K6î(ËñÌ5BëEÁÀ²?hC*R%6ô?(oGÈ]>)?o RêrBrT5Yà($|<%ÏRÏNîd)ʲî5ë}SAoJ'<owD5
    9,-b&alxft0SOÀJW#sQxvôö;od>Hç<ËWl-`sj’ï8eïà]OK<Y@ÁËW0f~!3yÊ;sR?IîBOçHc~t(65ëñ]ÌùGp7]+$|)&uññB))#îR#IU&öO$#û|)üè9~ùfñKIo$_       ÂRcÈ~_Mà}ayBcè7NÁYt]/ù
    Rh}ë;ooGY~VÉÌü'aê      ïê0ïb$ÈÉ&Ï'PËY7__AmÍÉ   dQYAëB+ptcguUR%6u;XûGÉ9($Hâ*QuañÏ–e#tL^HN'BST*6|~É[A5vàB(ñ9H²)ÎZçü]|Né&-MB;è7M.TK7És-ñùlz,Cl+*);sñûx3yht6-~éà!ÊK?%/Q>Á7ñ)Y²î/   tQYAjv"pï`~t<Bâ}67ÌoZù~[B]k
     
    5g6È]ç&î+H]UPLÁ!*6[eÉkr)o       ñ.Bn&#hx;0E5W/bQ]Oñbà)C+ÏE4"î²P2àÂÂÌp<**~ññz`ôzAî8e~>ñ|nQ}U'Ì*s~ñ)Y6îQ7tÌ6ñîñ,çù~dÌ<ñ_b`        ëï#È`ZÁ#5^’5gxê-²YwL{_ÉGEñRxkç-d6B)tgÌ(ñ3&aèÌQcü)^ bQ   3K8u~ù.AJ7Éï.ÀnàjÂkçZS]–ÍBÀO{#ö’èK9âD$wSQW'ñTG]hdL[HN8 ÀÈBADÁAtcëC#Q%öé}XèHA](,Hôx?s`Ày)7}oAZuU%UñË`û(çüàv~0ëÌQIaw7ùxDëËe`Mñ}aTBñ’çÈU!xkÊê_Kvö6;AË_A]1Ëxî;aÉ6ûgêd>ñ?RÀ-V'I?seh~A5y<"öG7HjCÁöx&5c,Ìâb3ayè`çë;.`|+*yéWua)
    A*^$ÉWNHù)ë6ççmv)éçÌZñ9'#ûtN5ü]|Á~RrüÀëù~MÁ7I8]î
    R?~ ' comporte 1370 caractères et correspond à : [66, 121, 0, 18, 33, 113, 54, 33, 99, 20, 87, 51, 101, 83, 117, 113, 17, 88, 6, 27, 79, 104, 22, 55, 87, 48, 57, 33, 73, 15, 73, 4, 118, 41, 102, 72, 10, 37, 10, 89, 87, 44, 100, 37, 14, 111, 76, 70, 32, 97, 108, 42, 9, 77, 42, 81, 118, 108, 57, 98, 98, 115, 82, 48, 79, 80, 66, 110, 49, 16, 118, 15, 3, 38, 9, 44, 124, 33, 71, 55, 114, 80, 3, 32, 56, 58, 13, 70, 118, 104, 117, 38, 100, 89, 49, 62, 17, 42, 118, 29, 75, 73, 26, 30, 90, 41, 120, 68, 24, 118, 49, 100, 34, 50, 111, 98, 118, 83, 37, 62, 47, 120, 10, 5, 27, 19, 110, 117, 118, 122, 59, 70, 75, 80, 100, 82, 115, 80, 84, 39, 115, 16, 9, 96, 6, 27, 81, 62, 41, 79, 116, 68, 28, 12, 96, 54, 73, 11, 96, 76, 33, 72, 122, 36, 10, 104, 95, 124, 69, 97, 5, 80, 73, 91, 34, 75, 100, 42, 33, 80, 50, 1, 118, 71, 47, 66, 68, 115, 99, 77, 71, 55, 44, 94, 45, 6, 16, 59, 6, 9, 17, 36, 102, 48, 94, 51, 32, 69, 91, 18, 41, 94, 15, 23, 17, 106, 74, 24, 93, 7, 51, 63, 15, 124, 117, 44, 91, 96, 26, 32, 97, 5, 96, 72, 32, 36, 7, 92, 59, 15, 89, 66, 7, 2, 18, 80, 45, 97, 114, 32, 45, 41, 9, 19, 97, 26, 34, 69, 51, 48, 97, 76, 94, 77, 62, 60, 118, 31, 14, 81, 8, 71, 82, 89, 29, 6, 101, 77, 24, 55, 76, 16, 71, 108, 7, 86, 60, 77, 122, 13, 25, 89, 69, 27, 112, 37, 97, 110, 69, 106, 35, 75, 96, 44, 35, 61, 42, 125, 76, 51, 118, 52, 69, 25, 75, 91, 63, 72, 74, 120, 6, 4, 69, 54, 14, 54, 118, 14, 23, 33, 65, 77, 32, 77, 15, 19, 26, 108, 0, 69, 118, 70, 110, 6, 108, 8, 30, 63, 13, 123, 12, 51, 101, 97, 26, 0, 107, 50, 123, 63, 2, 9, 36, 75, 49, 15, 104, 73, 16, 3, 62, 55, 8, 96, 10, 5, 41, 36, 21, 1, 17, 3, 57, 69, 47, 70, 115, 70, 94, 78, 63, 54, 21, 2, 7, 97, 110, 48, 82, 89, 39, 55, 86, 54, 29, 30, 84, 36, 48, 11, 97, 42, 14, 55, 92, 33, 3, 8, 48, 42, 90, 15, 117, 88, 73, 108, 37, 100, 93, 33, 10, 77, 21, 96, 16, 117, 34, 88, 89, 113, 82, 48, 51, 79, 90, 97, 43, 116, 14, 37, 110, 54, 69, 29, 11, 33, 85, 55, 114, 74, 105, 44, 72, 57, 12, 45, 7, 90, 89, 28, 124, 89, 51, 55, 23, 123, 111, 66, 91, 74, 48, 30, 61, 40, 93, 33, 53, 21, 52, 75, 57, 60, 90, 51, 9, 4, 18, 68, 23, 75, 23, 27, 43, 43, 6, 20, 14, 107, 33, 91, 32, 68, 51, 62, 116, 77, 92, 90, 100, 9, 97, 72, 6, 27, 95, 62, 33, 63, 5, 55, 21, 58, 54, 52, 125, 108, 24, 56, 97, 79, 92, 6, 35, 108, 95, 34, 68, 59, 111, 107, 96, 108, 34, 121, 79, 20, 39, 55, 39, 81, 5, 86, 12, 95, 91, 116, 105, 92, 66, 79, 66, 75, 27, 16, 96, 61, 125, 27, 5, 21, 117, 80, 51, 34, 71, 94, 105, 34, 47, 57, 5, 122, 9, 99, 100, 13, 93, 10, 30, 48, 22, 41, 0, 80, 76, 52, 71, 84, 90, 40, 78, 48, 46, 35, 36, 104, 34, 16, 107, 69, 15, 105, 62, 84, 30, 100, 114, 40, 28, 123, 26, 8, 17, 26, 12, 111, 76, 72, 105, 86, 109, 54, 62, 84, 0, 22, 118, 88, 3, 49, 61, 104, 40, 79, 108, 70, 27, 55, 76, 15, 69, 14, 118, 41, 95, 6, 5, 21, 33, 111, 63, 44, 68, 37, 7, 111, 98, 91, 116, 96, 93, 42, 33, 33, 55, 96, 96, 90, 27, 79, 90, 70, 82, 93, 36, 76, 91, 90, 43, 116, 96, 45, 19, 9, 118, 44, 22, 33, 72, 70, 34, 91, 113, 124, 53, 79, 14, 59, 118, 113, 74, 12, 117, 10, 49, 55, 14, 19, 7, 75, 54, 86, 41, 111, 102, 44, 122, 79, 24, 117, 21, 104, 34, 34, 68, 86, 118, 83, 60, 63, 45, 94, 10, 20, 53, 124, 26, 20, 0, 26, 13, 91, 59, 60, 93, 66, 94, 77, 62, 86, 7, 113, 113, 51, 31, 64, 60, 124, 16, 78, 86, 51, 21, 55, 98, 37, 41, 14, 23, 42, 82, 79, 92, 6, 42, 104, 85, 43, 68, 60, 9, 95, 91, 69, 11, 97, 78, 42, 10, 33, 66, 120, 17, 90, 41, 73, 112, 69, 75, 94, 55, 80, 81, 97, 6, 116, 118, 60, 110, 51, 5, 46, 12, 55, 95, 33, 9, 69, 125, 96, 65, 87, 15, 45, 111, 116, 75, 18, 93, 100, 74, 55, 104, 19, 7, 74, 101, 81, 72, 7, 60, 40, 100, 33, 44, 30, 50, 99, 56, 30, 98, 97, 96, 104, 40, 33, 43, 48, 3, 49, 24, 41, 6, 100, 118, 18, 12, 88, 61, 72, 108, 92, 102, 78, 107, 54, 7, 33, 96, 86, 125, 27, 102, 124, 41, 78, 86, 51, 28, 46, 89, 37, 26, 114, 118, 41, 105, 55, 11, 117, 6, 7, 63, 34, 87, 44, 118, 110, 55, 111, 29, 122, 122, 5, 23, 6, 59, 111, 15, 93, 27, 98, 69, 111, 82, 77, 73, 54, 88, 97, 6, 110, 17, 60, 29, 39, 96, 34, 124, 33, 101, 55, 32, 93, 90, 24, 48, 104, 0, 58, 5, 84, 102, 13, 78, 111, 76, 33, 13, 12, 96, 56, 98, 66, 58, 4, 89, 27, 125, 77, 2, 12, 53, 53, 63, 37, 105, 97, 97, 118, 33, 33, 50, 114, 35, 50, 51, 27, 8, 17, 118, 107, 33, 116, 32, 78, 117, 82, 94, 63, 97, 40, 118, 33, 96, 86, 6, 27, 78, 7, 41, 63, 6, 33, 27, 33, 99, 15, 44, 118, 16, 63, 105, 33, 113, 13, 114, 124, 21, 26, 90, 59, 114, 87, 54, 90, 5, 112, 123, 5, 23, 48, 20, 100, 125, 86, 47, 73, 115, 113, 60, 68, 58, 33, 79, 48, 29, 15, 100, 16, 6, 55, 96, 41, 23, 63, 95, 33, 3, 93, 10, 19, 63, 78, 14, 45, 96, 112, 121, 13, 78, 124, 3, 72, 8, 42, 118, 44, 101, 51, 71, 7, 60, 26, 101, 52, 32, 12, 28, 53, 29, 15, 87, 80, 111, 120, 64, 55, 52, 76, 115, 90, 36, 123, 19, 72, 9, 11, 57, 91, 47, 80, 78, 84, 94, 33, 81, 68, 111, 24, 16, 73, 110, 69, 75, 8, 121, 52, 59, 55, 51, 57, 54, 51, 41, 14, 21, 56, 90, 78, 92, 36, 18, 117, 85, 19, 69, 51, 111, 95, 99, 69, 35, 48, 108, 40, 114, 52, 49, 96, 7, 117, 34, 51, 87, 42, 82, 92, 82, 33, 62, 114, 43, 95, 15, 45, 12, 46, 118, 0, 21, 63, 78, 70, 10, 47, 7, 44, 48, 57, 21, 62, 17, 114, 74, 33, 117, 10, 81, 55, 33, 123, 15, 59, 82, 88, 48, 29, 61, 20, 113, 72, 46, 36, 6, 104, 51, 62, 113, 51, 111, 1, 62, 48, 27, 104, 10, 60, 6, 43, 23, 20, 16, 107, 33, 108, 79, 52, 100, 83, 94, 70, 108, 40, 17, 24, 118, 51, 5, 49, 105, 89, 36, 68, 7, 69, 28, 56, 54, 36, 48, 93, 5, 14, 99, 63, 11, 13, 3, 10, 49, 19, 114, 15, 21, 104, 101, 114, 116, 98, 97, 49, 18, 84, 42, 10, 96, 122, 51, 97, 112, 91, 60, 84, 75, 69, 44, 96, 21, 6, 15, 15, 31, 46, 96, 18, 15, 63, 87, 33, 9, 94, 90, 43, 41, 75, 5, 45, 111, 116, 54, 118, 79, 39, 45, 52, 21, 44, 118, 74, 54, 7, 70, 8, 111, 27, 122, 79, 108, 118]
    Le mot décodé : ' Peindre d'abord une cage
    avec une porte ouîerte
    peindre ensuite
    quelque chose de joli
    quelque chose de simple
    quelque chose de beau
    quelque chose d'utile
    pour l'oiseau
     
    Placer ensuite la toile contre un arbre
    dans un jardin
    dans un bois
    ou dans une forêt
    se cacher derrière l'arbre
    sans rien dire
    sans bouger...
     
    Parfois l'oiseau arrive vite
    mais il peut aussi bien mettre de longues années
    avant de se décider
     
    Ne pas se découêager
    attendre
    attendre s'il le faut pendant des années
    la vitesse ou la lenteur de l'arriv²e
    de l'oiseau n'ayant aucun rapport
    avec la réussite du tableau
     
    Quand l'oiëeau arrive
    s'il arrive
    observeê le plus profond silence
    attendre que l'oiseau entre dans la cage
    et quand il est entré
    fermer doucement la porte avec le pinceau
    puis
    effacer un à un les barreaux
    et ayant soin de ne toucher aucune des plumes del'oiseau
    fa6re ensuite le portrait de l'arbre
    en choisissant la plus belle de ses branches
    pour l'oiseau
    peindre aussi le vert feuillage et la fraîcheur du vent
    la poussière du soleil
    et le bruit des bêtes de l'herbe dans la chaleur de l'ét²
    et puis attendre que l'oiseau se décide à chanter
     
    Si l'oiseau ne chante pas
    c'est mauvais signe
    mais s'il chante c'est bon signe
    signe que vous pouvez signer
    alors vous arrachez tout doucement
    une des plumes de l'oiseau
    et vous écrivez votre nom dans un coin du tableau.
     
    Jacques Prévert.
     ' correspond à : [77, 17, 25, 32, 16, 39, 17, 121, 16, 94, 10, 13, 34, 39, 16, 121, 42, 32, 17, 121, 14, 10, 23, 17, 122, 10, 46, 17, 14, 121, 42, 32, 17, 121, 37, 34, 39, 41, 17, 121, 34, 42, 27, 17, 39, 41, 17, 122, 37, 17, 25, 32, 16, 39, 17, 121, 17, 32, 40, 42, 25, 41, 17, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 28, 34, 30, 25, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 40, 25, 31, 37, 30, 17, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 17, 121, 13, 17, 10, 42, 122, 38, 42, 17, 30, 38, 42, 17, 121, 14, 24, 34, 40, 17, 121, 16, 94, 42, 41, 25, 30, 17, 122, 37, 34, 42, 39, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 122, 77, 30, 10, 14, 17, 39, 121, 17, 32, 40, 42, 25, 41, 17, 121, 30, 10, 121, 41, 34, 25, 30, 17, 121, 14, 34, 32, 41, 39, 17, 121, 42, 32, 121, 10, 39, 13, 39, 17, 122, 16, 10, 32, 40, 121, 42, 32, 121, 28, 10, 39, 16, 25, 32, 122, 16, 10, 32, 40, 121, 42, 32, 121, 13, 34, 25, 40, 122, 34, 42, 121, 16, 10, 32, 40, 121, 42, 32, 17, 121, 22, 34, 39, 20, 41, 122, 40, 17, 121, 14, 10, 14, 24, 17, 39, 121, 16, 17, 39, 39, 25, 19, 39, 17, 121, 30, 94, 10, 39, 13, 39, 17, 122, 40, 10, 32, 40, 121, 39, 25, 17, 32, 121, 16, 25, 39, 17, 122, 40, 10, 32, 40, 121, 13, 34, 42, 23, 17, 39, 101, 101, 101, 122, 122, 77, 10, 39, 22, 34, 25, 40, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 10, 39, 39, 25, 46, 17, 121, 46, 25, 41, 17, 122, 31, 10, 25, 40, 121, 25, 30, 121, 37, 17, 42, 41, 121, 10, 42, 40, 40, 25, 121, 13, 25, 17, 32, 121, 31, 17, 41, 41, 39, 17, 121, 16, 17, 121, 30, 34, 32, 23, 42, 17, 40, 121, 10, 32, 32, 18, 17, 40, 122, 10, 46, 10, 32, 41, 121, 16, 17, 121, 40, 17, 121, 16, 18, 14, 25, 16, 17, 39, 122, 122, 75, 17, 121, 37, 10, 40, 121, 40, 17, 121, 16, 18, 14, 34, 42, 20, 10, 23, 17, 39, 122, 10, 41, 41, 17, 32, 16, 39, 17, 122, 10, 41, 41, 17, 32, 16, 39, 17, 121, 40, 94, 25, 30, 121, 30, 17, 121, 22, 10, 42, 41, 121, 37, 17, 32, 16, 10, 32, 41, 121, 16, 17, 40, 121, 10, 32, 32, 18, 17, 40, 122, 30, 10, 121, 46, 25, 41, 17, 40, 40, 17, 121, 34, 42, 121, 30, 10, 121, 30, 17, 32, 41, 17, 42, 39, 121, 16, 17, 121, 30, 94, 10, 39, 39, 25, 46, 125, 17, 122, 16, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 32, 94, 10, 49, 10, 32, 41, 121, 10, 42, 14, 42, 32, 121, 39, 10, 37, 37, 34, 39, 41, 122, 10, 46, 17, 14, 121, 30, 10, 121, 39, 18, 42, 40, 40, 25, 41, 17, 121, 16, 42, 121, 41, 10, 13, 30, 17, 10, 42, 122, 122, 78, 42, 10, 32, 16, 121, 30, 94, 34, 25, 21, 17, 10, 42, 121, 10, 39, 39, 25, 46, 17, 122, 40, 94, 25, 30, 121, 10, 39, 39, 25, 46, 17, 122, 34, 13, 40, 17, 39, 46, 17, 20, 121, 30, 17, 121, 37, 30, 42, 40, 121, 37, 39, 34, 22, 34, 32, 16, 121, 40, 25, 30, 17, 32, 14, 17, 122, 10, 41, 41, 17, 32, 16, 39, 17, 121, 38, 42, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 17, 32, 41, 39, 17, 121, 16, 10, 32, 40, 121, 30, 10, 121, 14, 10, 23, 17, 122, 17, 41, 121, 38, 42, 10, 32, 16, 121, 25, 30, 121, 17, 40, 41, 121, 17, 32, 41, 39, 18, 122, 22, 17, 39, 31, 17, 39, 121, 16, 34, 42, 14, 17, 31, 17, 32, 41, 121, 30, 10, 121, 37, 34, 39, 41, 17, 121, 10, 46, 17, 14, 121, 30, 17, 121, 37, 25, 32, 14, 17, 10, 42, 122, 37, 42, 25, 40, 122, 17, 22, 22, 10, 14, 17, 39, 121, 42, 32, 121, 12, 121, 42, 32, 121, 30, 17, 40, 121, 13, 10, 39, 39, 17, 10, 42, 48, 122, 17, 41, 121, 10, 49, 10, 32, 41, 121, 40, 34, 25, 32, 121, 16, 17, 121, 32, 17, 121, 41, 34, 42, 14, 24, 17, 39, 121, 10, 42, 14, 42, 32, 17, 121, 16, 17, 40, 121, 37, 30, 42, 31, 17, 40, 121, 16, 17, 30, 94, 34, 25, 40, 17, 10, 42, 122, 22, 10, 6, 39, 17, 121, 17, 32, 40, 42, 25, 41, 17, 121, 30, 17, 121, 37, 34, 39, 41, 39, 10, 25, 41, 121, 16, 17, 121, 30, 94, 10, 39, 13, 39, 17, 122, 17, 32, 121, 14, 24, 34, 25, 40, 25, 40, 40, 10, 32, 41, 121, 30, 10, 121, 37, 30, 42, 40, 121, 13, 17, 30, 30, 17, 121, 16, 17, 121, 40, 17, 40, 121, 13, 39, 10, 32, 14, 24, 17, 40, 122, 37, 34, 42, 39, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 37, 17, 25, 32, 16, 39, 17, 121, 10, 42, 40, 40, 25, 121, 30, 17, 121, 46, 17, 39, 41, 121, 22, 17, 42, 25, 30, 30, 10, 23, 17, 121, 17, 41, 121, 30, 10, 121, 22, 39, 10, 27, 14, 24, 17, 42, 39, 121, 16, 42, 121, 46, 17, 32, 41, 122, 30, 10, 121, 37, 34, 42, 40, 40, 25, 19, 39, 17, 121, 16, 42, 121, 40, 34, 30, 17, 25, 30, 122, 17, 41, 121, 30, 17, 121, 13, 39, 42, 25, 41, 121, 16, 17, 40, 121, 13, 20, 41, 17, 40, 121, 16, 17, 121, 30, 94, 24, 17, 39, 13, 17, 121, 16, 10, 32, 40, 121, 30, 10, 121, 14, 24, 10, 30, 17, 42, 39, 121, 16, 17, 121, 30, 94, 18, 41, 125, 122, 17, 41, 121, 37, 42, 25, 40, 121, 10, 41, 41, 17, 32, 16, 39, 17, 121, 38, 42, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 40, 17, 121, 16, 18, 14, 25, 16, 17, 121, 12, 121, 14, 24, 10, 32, 41, 17, 39, 122, 122, 80, 25, 121, 30, 94, 34, 25, 40, 17, 10, 42, 121, 32, 17, 121, 14, 24, 10, 32, 41, 17, 121, 37, 10, 40, 122, 14, 94, 17, 40, 41, 121, 31, 10, 42, 46, 10, 25, 40, 121, 40, 25, 23, 32, 17, 122, 31, 10, 25, 40, 121, 40, 94, 25, 30, 121, 14, 24, 10, 32, 41, 17, 121, 14, 94, 17, 40, 41, 121, 13, 34, 32, 121, 40, 25, 23, 32, 17, 122, 40, 25, 23, 32, 17, 121, 38, 42, 17, 121, 46, 34, 42, 40, 121, 37, 34, 42, 46, 17, 50, 121, 40, 25, 23, 32, 17, 39, 122, 10, 30, 34, 39, 40, 121, 46, 34, 42, 40, 121, 10, 39, 39, 10, 14, 24, 17, 50, 121, 41, 34, 42, 41, 121, 16, 34, 42, 14, 17, 31, 17, 32, 41, 122, 42, 32, 17, 121, 16, 17, 40, 121, 37, 30, 42, 31, 17, 40, 121, 16, 17, 121, 30, 94, 34, 25, 40, 17, 10, 42, 122, 17, 41, 121, 46, 34, 42, 40, 121, 18, 14, 39, 25, 46, 17, 50, 121, 46, 34, 41, 39, 17, 121, 32, 34, 31, 121, 16, 10, 32, 40, 121, 42, 32, 121, 14, 34, 25, 32, 121, 16, 42, 121, 41, 10, 13, 30, 17, 10, 42, 101, 122, 122, 71, 10, 14, 38, 42, 17, 40, 121, 77, 39, 18, 46, 17, 39, 41, 101, 122]
    Temps d'éxécution : 0.03239011764526367
    Thu, 19 May 2016 16:59:42 +0000
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [42, 427, 518, 594, 625, 849, 1078]
    Je ne vois pas trop...
    Pas d'aide par mp.

  13. #33
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Oui, voilà le problème étrange. Voilà pourquoi j'ai d'abord pensé à un problème d'arrondi, puis j'ai vite rejeté cette hypothèse, il n'y a que des entiers.
    Moi non plus je ne vois pas bien ce qui cause ça. Je pense que python "saute" des caractères, ça doit être de petits bugs en somme. Mais, n'empêche que je n'y crois pas trop.
    C'est un mystère.
    Pour moi c'est plutôt aléatoire mais ça revient périodiquement, assez régulièrement.
    J'estime le taux d'erreur à 1 toutes les 3 lignes pour des lignes de 64 caractères, d'où les 3% que j'annonçais un peu plus haut.

Discussions similaires

  1. Opération sur des entiers codés dans un tableau
    Par Nurza dans le forum Langage
    Réponses: 7
    Dernier message: 28/09/2012, 12h57
  2. [TPW] Calculatrice effectuant des opérations sur les entiers longs
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 04/12/2011, 11h36
  3. Caml win/ opérations sur des séquences d'entiers
    Par Sophie_26 dans le forum Caml
    Réponses: 29
    Dernier message: 02/05/2007, 20h25
  4. Opération sur de grands entiers
    Par tutu dans le forum C
    Réponses: 16
    Dernier message: 24/05/2005, 08h56
  5. opérations sur les dates
    Par coucoucmoi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2003, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo