Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

13 commentaire(s) de VladislavIV sur des sources sur tout CodeS-SourceS

Le : 15/05/2007 09:31:35
Source : CHIFFRE DE VIGENÈRE
Bien sûr !
sortie, i = "", 0 est une série d'affectations. J'aurai pu écrire
sortie = ""
i = 0

% est l'opérateur "modulo" : x % y renvoie le reste de la division de x par y.

chr( ( ord(caract) + ord(cle[i]) ) % 256 )

L'objectif est d'obtenir un caractère codé, en faisant la "somme" d'un caractère en clair et d'un caractère de la clé.
clair + clé = code
J'additionne donc les codes ascii, puis je fais % 256 pour obtenir une valeur entre 0 et 256 -> on retombe sur la table ascii. On peut alors utiliser chr() pour obtenir le caractère correspondant, codé.

En espérant être clair ;)


Le : 02/05/2007 22:26:42
Source : PYTINERIS!
Ouiii... enfin, ne poussons pas le vice trop loin ! :D Mais c'est vrai qu'en donnant comme valeur à chaque arc, les Km de routes qui séparent les deux villes, on peut trouver le parcours minimal en Km pour aller d'une ville donnée à une autre.
Ca ne devrait pas être trop dur à faire, vu ce qu'il y a déjà !



Le : 01/05/2007 19:05:01
Source : RÉSOLUTION TOTALE DU JEU D'ÉCHECS: RÉFLEXIONS,MÉTHODOLOGIES DE RÉSOLUTION, OUVERTURES CORRÉLATIVES DU SUJET : ALGORITHME ET PROGRAMME DE CALCUL DE TOUS LES TABLEAUX PRINCIPAUX SUCCESSIFS POSSIBLES À PARTIR D'UNE POSITION VALIDE QUELCONQUE
Aaaaaah oui ! Quand même ! Déjà que le discours ne veut pas dire grand-chose ici, les sources et documents c'est pas mieux, hein ! Franchement, ootbtdkg2, j'admire les efforts que tu as dû déployer pour rédiger tout ça !

Reste plus qu'à espérer que ça ne se répande pas partout, ça nuirait pas mal au sérieux du site !

Maintenant, si tu crois ce que tu dis, faudrait vraiment que tu choisisses entre quelques discussions couché sur un banc avec un monsieur à lunettes, et des cours (les plus chers) de communication (écrite, hein, manquerait plus que ça qu'il parle à l'écran...).

Je crois que je vais envoyer tout ça à un ami à moi, qui maîtrise les échecs avec le petit doigt. Il a passé haut la main un Doctorat en mathématiques appliquées, il saura donc me donner une appréciation juste et scientifique de ce joyeux bazar ! Je crois qu'il va bien rigoler... ;)


Le : 01/05/2007 09:53:19
Source : RÉSOLUTION TOTALE DU JEU D'ÉCHECS: RÉFLEXIONS,MÉTHODOLOGIES DE RÉSOLUTION, OUVERTURES CORRÉLATIVES DU SUJET : ALGORITHME ET PROGRAMME DE CALCUL DE TOUS LES TABLEAUX PRINCIPAUX SUCCESSIFS POSSIBLES À PARTIR D'UNE POSITION VALIDE QUELCONQUE
Je cite :
"slt PapiVB !
je dois te dire ! que tu te mélanges les pédales!!!"

Sans vouloir paraître désagréable, entre ton reverse engineering qui n'a rien à faire ici et ta "sortie de boucles circulaires infinies", je me demande qui c'est qui se mélange les pédales...

Quand on sait que les machines spécialisées (type Deep Blue) ne calculent pas la totalité des positions car c'est impossible, aussi bien au niveau temps qu'au niveau mémoire, alors qu'elles ont été conçues et programmées par des personnes plus que compétentes, je rigole un peu face à ta prétention. Surtout avec seulement un ordinateur grand public, 762 lignes de code et un discours d'allure très "savante!!!!!!!!!!" mais qui ne veut pas dire grand-chose.

Au fait, faudrait aussi expliquer ce que l'astrophysique a à voir là-dedans (catégorie de la source)...


Le : 16/04/2007 11:32:03
Source : PYTINERIS!
Je n'ai pas pu tester le code (pas installé PIL), mais je te propose ceci pour la méthode pluscourtchemin, de la classe Itineraire (modifications signalées par #<----):

def pluscourtchemin(self, G, start, end):
    def flatten(L):       # Flatten linked list of form [0,[1,[2,[]]]]
        while len(L) > 0:
        yield L[0]
        L = L[1]
    q = [(0, start, ())]  # Heap of (cost, path_head, path_rest).
    visited = set()       # Visited vertices.
    res = False   #<----
    fin = False   #<----
    while not fin:   #<----
        (cost, v1, path) = heappop(q)
        if v1 not in visited:
            visited.add(v1)
            if v1 == end:
                res = list(flatten(path))[::-1] + [v1]   #<----
                fin = True    #<----
            path = (v1, path)
            for (v2, cost2) in G[v1].iteritems():
                if v2 not in visited:
                    heappush(q, (cost + cost2, v2, path))
    return res   #<----


Pour être "propre", une fonction ne doit avoir qu'un seul point de sortie (return), et cela doit être sa dernière instruction. Visualise l'exécution comme un fluide qui sécoule du début à la fin de ta fonction : il n'y a qu'une entrée, il n'y a qu'une sortie. Entre les deux, le traitement. Il faut éviter de mettre des sorties n'importe où au milieu, ou on prend le risque de ne pas contrôler le flux.

De plus, si on fait abstraction de ton "return" au milieu du code, ta boucle "while True:" est une boucle infinie. Il faut absolument éviter ça, ça ne t'apportera que des ennuis !

En espérant être utile ;)
A++


Le : 15/01/2007 19:30:03
Source : CHIFFRE DE VIGENÈRE
Désolé, mais je n'ai pas reçu ton message, ou alors je ne peut pas le voir...
Je t'ai envoyé mon adresse mail sur ta messagerie privée. Et oui, elle est bien valide ;)
++


Le : 14/01/2007 22:38:35
Source : CHIFFRE DE VIGENÈRE
Oui, hum... Il me faudrait peut-être ton adresse mail, si tu veux que je t'envoie tout ça ! :) Passe-la moi donc par la messagerie privée (cliques sur mon pseudo), tu recevra un courriel avec un lien pour télécharger une archive zip avec tout ce qui va bien dedans.


Le : 14/01/2007 16:19:16
Source : CHIFFRE DE VIGENÈRE
En effet je n'ai pas publié le programme. Il te faut donc Visual Studio 2003 ou 2005. Il est payant, sauf si tu es étudiant en informatique ;)

Ce programme est une sorte de grosse usine à gaz qui te permettra d'écrire et utiliser des programmes écrits en VB.NET

Si tu ne peut pas te le procurer, je pourrai toujours t'envoyer le programme et ce qu'il faut par mail. Par contre tu ne pourras pas développer de programmes sans VS.


Le : 24/07/2006 10:31:18
Source : CRYPTEUR/DÉCRYPTEUR MD5 (PAR DICO)
Bonjour à tous.
Je sais qu'il se fait tard, mais faut croire que j'aime à converser quelques mois (années?) après qu'un sujet se soit épuisé...

Pour commencer, thecryingshadow, la fonction MD5 est une fonction de hashage, pas de cryptage. On va me dire que je chipotte, mais les mots sont là pour ça. :)

Ensuite, ta fonction avecArgv() n'est pas une fonction. Une fonction (comme l'addition) retourne un résultat (2+2 = 4) qui peut être affecté à une variable
(res = 2+2). avecArgv() est une procédure. Parlons le même langage, ça aide à se comprendre.

Après les remarques amères :p, les remarques pratiques !
Il est déconseillé de donner à un scipt Python le même nom qu'un module existant. Ton script se nomme md5, et il importe un module nommé md5... A éviter.

Pour ce qui est de la variable CRYPTED, à éviter aussi : l'utilisateur n'a pas à changer le programme pour l'utiliser. Tu pourrai mettre un système d'appel à deux paramètres :
le premier indique que l'on veut hasher / retrouver un mot,
le second est le mot / le hash à traiter.
Exemple :

erreur = """
          Usage : md5.py option chaine
          option : -hash : hasher la chaine
                   -find : trouver le mot correspondant au hash chaine
         """
if len(argv) != 3:  #mauvais appel du programme
    print erreur

elif not argv[1] in ['-hash','-find']: #mauvaise option
    print erreur

elif argv[1] == '-hash':
    Hasher(argv[2])   #la chaine est un mot à hasher

elif argv[1] == '-find':
    Trouver(argv[2])  #la chaine est un hash : rechercher le mot correspondant


Voilà voilà. Ca devrait te servir ! Sauf si tu t'en sers déjà :)
Bonne continuation.


Le : 16/04/2006 20:09:51
Source : CRYPTAGE / DECRYPTAGE DE TEXTE EN UTILISANT L'ALGORYTHME DE VIGENERE
Oups... Petite correction : le déchiffrement ne se fait pas selon la même formule :
asc(clair) = (asc(codé) - asc(clé)) mod 256. Là ça marche !!

Au temps pour moi, je retire ce que j'ai dit. Je récapitule :

Chiffrer : (lettre_claire + lettre_clé) mod 256
Déchiffrer : (lettre_codée - lettre_clé) mod 256

Voilà !

Mais ton algo montre bien qu'avec un peu de volonté on y arrive, même sans s'embrouiller avec les maths ! ;) Cela dit, ça pourra t'économiser des lignes si tu fais une grosse appli sur les algorithmes de chiffrement.

Bon boulot, et bonne continuation !
A++



1


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.