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

Python Discussion :

Aide probleme python débutant


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Aide probleme python débutant
    Bonjour a tous j'ai commencer python il y a quelques jours et j'ai un probleme avec un script.

    J'utilise hashlib pour crypter en sha-224 une suite de caractère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import hashlib
     
    a = 18
     
    hash = hashlib.sha224(a).hexdigest()
     
    print(hash)
    Mon probleme vient de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hash = hashlib.sha224(a).hexdigest()
    je voudrai mettre a ( soit 18 ici ). J'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hash = hashlib.sha224(b"").hexdigest()
    mais je ne sais pas quoi mettre entre les "" pour mettre a.
    Avez vous une solution ?

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par julesd_ Voir le message
    je voudrai mettre a ( soit 18 ici ). J'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hash = hashlib.sha224(b"").hexdigest()
    mais je ne sais pas quoi mettre entre les "" pour mettre a.
    Avez vous une solution ?
    C'est quoi 18? Un nombre ou la chaîne de caractères composée d'un "1" suivi d'un "8". Si vous ne le savez pas on ne saura pas plus que vous quoi mettre entre les ""....

    Citation Envoyé par julesd_ Voir le message
    j'ai commencer python il y a quelques jours et j'ai un probleme avec un script.
    Si vous débutez, vous devez prendre le temps d'étudier la programmation avec un tuto et remettre à plus tard l'utilisation d'un module comme hashlib.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    C'est quoi 18? Un nombre ou la chaîne de caractères composée d'un "1" suivi d'un "8". Si vous ne le savez pas on ne saura pas plus que vous quoi mettre entre les ""....



    Si vous débutez, vous devez prendre le temps d'étudier la programmation avec un tuto et remettre à plus tard l'utilisation d'un module comme hashlib.

    - W
    Je débute mais j'ai quand meme prit le temp de parcourir plusieurs jours les tutos pour accumuler les connaissances de base. Mais je n'ai pas besoin de me spécialiser je ne le fait que pour ce programme et pour des scripts basique.

    18 c'était un exemple, j'ai finit le code regardez ( je ne sais pas si il est correct ou optimiser mais il marche a part la récuperation du hash ) je fait une boucle pour 100 chiffre:

    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
     
    import hashlib
     
    a = 1
     
    #Ouverture fichier 
    b = open("fichier.txt", "w")
     
    #boucles de 1 à 100
    while a < 101 :
     
        #Hashlib sha-224 hash
        hash = hashlib.sha224(b"a").hexdigest()
     
     
        p = "%1.30f " %a + " - " + hash + " \n"
        print (p)
     
        #Ecriture de "hash chiffre"
        b.write(hash)
        b.write(" %1.30f \n" %a)
     
        #Incrementation a
        a = a +1
     
        #fin de boucle
        if a > 100 :
     
            #fermeture du fichier
            b.close()
            break

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Puisque a est une référence tu ne peux pas en faire directement une str avec "a".

    La conversion en bytes peut se faire avec bytes(str(a), 'ascii')

    Ensuite je te signale qu'avec, pour ta boucle, des sauts de 0.000000000000000000000000000001 tu vas y passer le week-end.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par julesd_ Voir le message
    18 c'était un exemple, j'ai finit le code regardez ( je ne sais pas si il est correct ou optimiser mais il marche a part la récuperation du hash ) je fait une boucle pour 100 chiffres:
    Une boucle pour cent chiffre s'écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for a in range(1, 101):
         ....
    Et les instructions à faire après la boucle se placent "après" et non dans la boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    b = open(...)
    for a in range(1, 101):
         ....
    b.close()
    où puisqu'il s'agit d'un fichier, on utilise on context manager:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with open(...) as b:
         for a in range(...):
              ...

    Et si vous n'avez pas passé assez de temps dans les tutos pour que ces constructions soient naturelles (écrire un code lisible en Python n'a rien à voir avec "optimiser") jouer avec hashlib est prématuré (après vous faites ce que vous voulez).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour vos réponse.

    Les sauts de 0.000000000000000000000000000001 c'était juste pour tester si le sytème marche avec des décimales, car j'en aurais besoin par la suite.


    Une boucle pour cent chiffre s'écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for a in range(1, 101):
         ....
    A ma connaissance, les boucles for .. in range ne prennent en charge seulement les int et non les float ? Ou j'ai surement loupé quelques chose.

    Et si vous n'avez pas passé assez de temps dans les tutos pour que ces constructions soient naturelles (écrire un code lisible en Python n'a rien à voir avec "optimiser") jouer avec hashlib est prématuré (après vous faites ce que vous voulez).
    Certainement, mais comme je l'ai dit précedemment j'ai besoin de ce programme, et je continuerai mon apprentissage de python au fur et a mesure de mon projet.
    Apres si vous ne voulez pas m'aider c'est votre choix, et je ne "joue" pas avec hashlib j'ai juste besoin de crypter en sha-224 sinon le programme n'a plus de sens.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par julesd_ Voir le message
    A ma connaissance, les boucles for .. in range ne prennent en charge seulement les int et non les float ? Ou j'ai surement loupé quelques chose.
    Votre indice de boucle n'est pas un float (enfin on sait pas trop puisque vous éditez votre code en fonction des remarques qui vous sont faites).
    numpy.arange, numpy.linspace,.... mais si vous débutez vous ne savez peut être pas encore que lorsqu'on pense "float", on pense "numpy".

    Citation Envoyé par julesd_ Voir le message
    Certainement, mais comme je l'ai dit précedemment j'ai besoin de ce programme, et je continuerai mon apprentissage de python au fur et a mesure de mon projet.
    Apres si vous ne voulez pas m'aider c'est votre choix, et je ne "joue" pas avec hashlib j'ai juste besoin de crypter en sha-224 sinon le programme n'a plus de sens.
    Des questions mal posées avec un code montrant qu'on n'a même pas pris le temps de débuter sont généralement ignorées: vous aurez peu ou pas d'aide du tout... Et vous allez vous retrouver coincé à poster des questions dans X forums et faire des "up" car pas grand monde ne se précipitera pour y répondre.
    A vous de voir.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Rebonjour à tous je tiens à remercier VinsS grâce à lui mon programme marche et il a pas ecrit des choses inutiles. Y'a quand mêmes des bon dans les mauvais

Discussions similaires

  1. Aide question sur programmation python débutant
    Par LoloB12 dans le forum Général Python
    Réponses: 2
    Dernier message: 02/01/2015, 13h21
  2. Réponses: 3
    Dernier message: 01/11/2014, 21h12
  3. aide pour un débutant python
    Par daniel130 dans le forum Général Python
    Réponses: 12
    Dernier message: 12/12/2009, 17h44
  4. Probleme python 2.4 et matplotlib : unicode encode error
    Par patfrat dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 12/06/2005, 00h30
  5. probleme de débutant avec D3DXVECTOR3
    Par airseb dans le forum DirectX
    Réponses: 6
    Dernier message: 16/08/2003, 21h03

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