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 :

int object has not attribute lower


Sujet :

Python

  1. #21
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    Franchement je suis bloqué et je ne sais pas quoi faire
    Ça ne marche pas help me please
    Essayez de réfléchir à ce que vous voulez faire et aux outils/fonctions à utiliser pour y arriver plutôt que de recopier du code sans trop comprendre comment le faire marcher...

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

  2. #22
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    Je cherche à calculer la distance de Levenshtein sur le fichier rockyou je ne trouve pas de fonction qui marche cosine similarity aussi je suis désespéré j'ai récupéré des librairies et ça ne fonctionne pas aidez-moi au moins pour le cosine et la distance de Levenshtein ci-joint le fichier rockyou
    s'il vous plait aidez-moi
    Fichiers attachés Fichiers attachés

  3. #23
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Salut,

    Citation Envoyé par s2a07 Voir le message
    j'ai récupéré des librairies et ça ne fonctionne pas
    Regardez comment se calcule la distance de Levenshtein et essayez de le coder en Python...

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

  4. #24
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    voici mon code et je ne vois comment le debuguer
    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
     
    import pandas as pd
    from sklearn.feature_extraction.text import TfidfVectorizer
    from sklearn.metrics.pairwise import cosine_similarity
    import Levenshtein
     
     
     
    #first u have to open  the file and seperate every line like below:
     
     
    #with open(r'C:\Users\User\Desktop\rockyou.txt', "r",encoding="ISO-8859-1") as f:
     #   lines = f.readlines()
    df_result = pd.read_excel(r'Memoireid3125439.xlsx')
     
     
    documents=("K KAPOOR","L KAPOOR")
     
    tfidf_vectorizer=TfidfVectorizer()
    tfidf_matrix=tfidf_vectorizer.fit_transform(documents) 
     
    def jaccard_similarity(list1, list2):
        intersection = len(list(set(list1).intersection(list2)))
        union = (len(list1) + len(list2)) - intersection
        return float(intersection) / union
     
     
     
     
    for i in df_result.index:
        result = cosine_similarity(tfidf_matrix[0:1],tfidf_matrix)
        Levensthein = distance(df_result["id"][i],df_result["password"][i])
        jaccard = jaccard_similarity(df_result["id"][i],df_result["password"][i])
        print(result)
        print(Levensthein)
    voici l'erreur je ne vois comment faire merci pour votre aide

    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
     
    ImportError                               Traceback (most recent call last)
    ~\AppData\Local\Temp/ipykernel_3096/876404934.py in <module>
          2 from sklearn.feature_extraction.text import TfidfVectorizer
          3 from sklearn.metrics.pairwise import cosine_similarity
    ----> 4 import Levenshtein
          5 
          6 
     
    ~\Desktop\python-Levenshtein-0.12.0\Levenshtein\__init__.py in <module>
    ----> 1 from Levenshtein import _levenshtein
          2 from Levenshtein._levenshtein import *
          3 
          4 __doc__ = _levenshtein.__doc__
     
    ImportError: cannot import name '_levenshtein' from partially initialized module 'Levenshtein' (most likely due to a circular import) (C:\Users\User\Desktop\python-Levenshtein-0.12.0\Levenshtein\__init__.py)

  5. #25
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    Je cherche à calculer la distance de Levenshtein sur le fichier rockyou
    Une distance de Levenshtein est une distance qui sépare deux chaines. Je ne vois pas comment on peut l'appliquer sur un fichier. C'est exactement comme si tu avais dit "je cherche à calculer la distance en km sur la ville de Paris", ça ne veut rien dire du tout.

    Citation Envoyé par s2a07 Voir le message
    voici mon code et je ne vois comment le debuguer
    Moi je ne vois pas, dans ce code, de lien avec le fichier "rockyou"

    Citation Envoyé par s2a07 Voir le message
    je ne trouve pas de fonction qui marche cosine similarity aussi je suis désespéré j'ai récupéré des librairies et ça ne fonctionne pas
    Bis repetita: arrête de vouloir récupérer des trucs qui ne marchent pas et code toi un truc qui marche. Accessoirement Hominidé t'a demandé pourquoi tu avais besoin de "cosine similarity", la moindre des politesses eût été de lui répondre.

    Citation Envoyé par s2a07 Voir le message
    voici l'erreur je ne vois comment faire merci pour votre aide
    Tu sais que reproduire les mêmes actions en espérant un résultat différent est un signe de stupidité ? Je t'ai déjà expliqué le souci et comment le régler. Donc si tu reposes la même question, tu auras la même réponse (merci au ctrl-c+ctrl-v) : supprimer l'instruction. Tu fais ce qu'on appelle un "import circulaire". Un module A qui importe un module B, et un module B qui, soit directement, soit indirectement, importe le module A.
    Il n'y a aucun moyen de régler le conflit. Il faut repenser le code, le réorganiser. Par exemple créer un programme principal qui importe le module A et le module B. Là le module A, même sans importer le module B, pourra quand-même utiliser des outils du module B (puisque c'est le programme principal qui s'est chargé des imports)

    Citation Envoyé par s2a07 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImportError: cannot import name '_levenshtein' from partially initialized module 'Levenshtein' (most likely due to a circular import) (C:\Users\User\Desktop\python-Levenshtein-0.12.0\Levenshtein\__init__.py)
    Voilà, il n'y a pas plus clair.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #26
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    salut hominde desole de ma reponse tardive je suis perturbe le cosine similarite est pour trouver d'eventuelle correlation
    je ne sais pas resoudre l'import circulaire merci pour ton aide d'avance

  7. #27
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    je ne sais pas resoudre l'import circulaire merci pour ton aide d'avance
    Vérifiez d'abord que le module python-Levenshtein est correctement installé car l'erreur dit aussi qu'il ne trouve pas la DLL correspondante.
    note: faire quelque chose (comme installer un module) et vérifier que c'est correct avant de partir à vouloir s'en servir... c'est juste un minimum de rigueur.

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

  8. #28
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    salut hominde desole de ma reponse tardive je suis perturbe le cosine similarite est pour trouver d'eventuelle correlation
    Entre quoi et quoi???
    Et c'est franchement pas compliqué à trouver !!!
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >>> a=[3, 45, 7, 2]
    >>> b=[2, 54, 13, 15]
     
    >>> from numpy import dot
    >>> from numpy.linalg import norm
    >>> dot(a, b)/(norm(a)*norm(b))
    0.9722842517123499
     
    >>> import math
    >>> sum(i*j for (i, j) in zip(a, b))/(math.sqrt(sum(i**2 for i in a))*math.sqrt(sum(i**2 for i in b)))
    0.9722842517123499
    >>>
    Trouvé ici en 4 secondes https://stackoverflow.com/questions/...2-number-lists

    Citation Envoyé par s2a07 Voir le message
    je ne sais pas resoudre l'import circulaire
    Ben repars ailleurs. En 3 secondes j'ai trouvé ce code qui calcule une distance de Levenshtein: https://128mots.com/index.php/2021/0...shtein-python/

    Voilà. Total 7 secondes. J'ai mis plus de temps à taper ce post...

    PS: on remarquera entre temps que le souci du int.lower() semble avoir disparu...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #29
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par s2a07 Voir le message
    salut hominde desole de ma reponse tardive je suis perturbe le cosine similarite est pour trouver d'eventuelle correlation
    je ne sais pas resoudre l'import circulaire merci pour ton aide d'avance
    heu, j'suis seul. En l'occurrence, c'est plutôt à Sev@r et wistricks qui t'ont apporté de l'aide sur ce post... et je n'ai pas vraiment quelque chose à y ajouter.

  10. #30
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 321
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Entre quoi et quoi???
    Citation Envoyé par s2a07 Voir le message
    pour trouver d'eventuelle correlation
    Dans un sujet précédent, ici il a un csv de login et mots de passe et cherche une correlation entre id et pass.

    Peut-être qu'il désire (plus tard) deviner une liste de mots de passe pour un login particulier/approchant ??? ps: me semble bien faux comme hypothèse mais comme exercice, pourquoi pas
    Peut-être que la solution "cosine" a été piochée sur le web comme tous les autres bouts de code python ?

  11. #31
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Peut-être que la solution "cosine" a été piochée sur le web comme tous les autres bouts de code python ?
    C'est une solution qui permet de mesurer la distance (sous forme d'un nombre dans [-1, 1]) entre 2 mots de passe (comme la distance de Levenshtein). Et donc d'avoir une mesure "objective" de la similarité entre différents mots de passe.

    Après que peut on faire avec ça est un sujet de sécurité (informatique) et ce forum n'est pas le lieu pour en discuter (même s'il était fréquenté par les experts du domaine, ayant des choses intéressantes à raconter sur le sujet, ce n'est pas le lieu où leur prose pourrait profiter aux personnes qui s'intéressent à ces sujets).

    Dans un forum de programmation Python, on ne s'intéresse pas trop aux motivations (au pourquoi du pourquoi on veut coder un machin qui...). Si je veux écrire un bout de code qui aille craquer un site internet et que j'ai des problèmes à le mettre au point, je créer un exemple "neutre" qui permet de reproduire le problème sans dire que la mise au point de ce bout est une des pièces maîtresse d'une machine de guerre.

    Il y a longtemps, lorsqu'on faisait construire à des maçons des passages secrets, on les trucidait à la livraison (ainsi que leur proches) histoire que le secret soit bien gardé. Avec le temps, on a trouvé que se défaire ainsi d'expertises était dommageable et on a créé la franc-maçonnerie (des qui s'engageaient à ne rien divulguer sous peine de punitions par leurs confrères). Plus connu de nos jours est le secret défense... mais il est beaucoup plus subtil de bosser normalement pour des sous ensembles de projets dont on ignore la destination.

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

  12. #32
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 321
    Par défaut
    Ce que je vois ici, c'est une "comparaison" id/pass et non entre mots de passe, ce qui me fait donc douter (de cosine).

    Non, en fait je n'ai rien vu de mal dans ma supposition, oui le mot deviner est trop fort. Mais oui, il peut avoir des cas très intéressant pour la sécurité, par exemple:
    pour un intranet(ou forum), en fonction du login/pass du nouvel utilisateur, le site va afficher un message
    Attention `warrior`, votre mot de passe est trop classique (20% des logins proches du votre ont un mot de passe du type "123")
    ps: message moins explicite sinon c'est un encouragement à cet utilisateur de tester "warrior05:123"

    Mais ici, il faut créer des "groupes" id et groupes "pass" (numerique,==id, complexe,...formule mathématique) et faire des relations entre groupes ? ce qui est loin du code présent

    ----------------
    comparaison/liaison id/pass avec cosine, comme dit plus haut, je ne vois aucun rapport entre les 2 :
    si j'ai paul{,07,line} qui utilisent "123" comme pass
    Rien ne me dit que paul08 va lui pencher vers le même type de pass
    si aucune "michelle" n'a encore utilisé "123", rien ne dit que michele09 ne va pas l'utiliser

    La liaison id/pass est le hazard (sauf pour quelques uns comme root:root)

  13. #33
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Ce que je vois ici, c'est une "comparaison" id/pass et non entre mots de passe, ce qui me fait donc douter (de cosine).
    Le PO ne sait pas programmer donc il navigue a vue sans qu'on sache trop le pourquoi du comment...

    Ceci dit, bien qu'on puisse être perplexe sur le problème qu'il cherche à résoudre, on ne peut que constater qu'il ne sait pas programmer => résoudre ses problèmes risque de le mener nulle part (un problème XY).

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

  14. #34
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    Bonjour comment faire pour parcourir ligne par ligne le dataframe et calculer la distance de levensthein entre le login et le mot de passe j’ai fais une boucle mais ça n’affiche pas toutes les lignes
    Merci d’avance

  15. #35
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    comment faire pour parcourir ligne par ligne le dataframe et j’ai fais une boucle mais ça n’affiche pas toutes les lignes
    ça devrait se trouver dans le tuto pandas que vous avez du potasser avant de vouloir vous en servir...

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

  16. #36
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    coucou au lieu de se moquer de moi que je ne sais pas programmer etes vous capable de m'expliquer pourquoi on arrive pas avec ce code
    a calculer la quantite sur chaque ligne
    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
     
     
    def levenshtein(chaine1, chaine2):
        taille_chaine1 = len(chaine1) + 1
        taille_chaine2 = len(chaine2) + 1
        levenshtein_matrix = np.zeros ((taille_chaine1, taille_chaine2))
        for x in range(taille_chaine1):
            levenshtein_matrix [x, 0] = x
        for y in range(taille_chaine2):
            levenshtein_matrix [0, y] = y
        for x in range(1, taille_chaine1):
            for y in range(1, taille_chaine2):
                if chaine1[x-1] == chaine2[y-1]:
                    levenshtein_matrix [x,y] = min(
                        levenshtein_matrix[x-1, y] + 1,
                        levenshtein_matrix[x-1, y-1],
                        levenshtein_matrix[x, y-1] + 1
                    )
                else:
                    levenshtein_matrix [x,y] = min(
                        levenshtein_matrix[x-1,y] + 1,
                        levenshtein_matrix[x-1,y-1] + 1,
                        levenshtein_matrix[x,y-1] + 1
                    )
        return (levenshtein_matrix[taille_chaine1 - 1, taille_chaine2 - 1])
    print("distance de levenshtein = " + str(levenshtein("Lorem ipsum dolor sit amet", "Laram zpsam dilir siy amot")))
     
     
     
     
    def get_cosine(vec1, vec2):
        intersection = set(vec1.keys()) & set(vec2.keys())
        numerator = sum([vec1[x] * vec2[x] for x in intersection])
     
        sum1 = sum([vec1[x]**2 for x in vec1.keys()])
        sum2 = sum([vec2[x]**2 for x in vec2.keys()])
        denominator = math.sqrt(sum1) * math.sqrt(sum2)
     
        if not denominator:
            return 0.0
        else:
            return float(numerator) / denominator
     
     
    def text_to_vector(text):
        word = re.compile(r'\w+')
        words = word.findall(text)
        return Counter(words)
     
     
    def get_result(content_a, content_b):
        text1 = content_a
        text2 = content_b
     
        vector1 = text_to_vector(text1)
        vector2 = text_to_vector(text2)
     
        cosine_result = get_cosine(vector1, vector2)
        return cosine_result
     
     
    je parcours les lignes pourtant a cet endroit 
    for i in df_result.index:
        result = get_result(df_result["id"][i],df_result["password"][i])
        Levensthein = levenshtein(df_result["id"][i],df_result["password"][i])
        jaccard = jaccard_similarity(df_result["id"][i],df_result["password"][i])
        print(result)
        print(Levensthein)
        print(jaccard)
        print(result)


    le fichier est le fichier ci dessus rockyou le calcul se fait que pour une ligne pourtant je parcours par index la ligne du dataframe
    merci d'avance

  17. #37
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    coucou au lieu de se moquer de moi que je ne sais pas programmer
    Euh... tu fais là une grave erreur. On ne se moque pas de toi parce que tu ne sais pas programmer, on se moque de toi parce que tu ne fais aucun effort pour apprendre à programmer. C'est là une nuance assez importante. Tu arrives avec tes codes piochés on ne sais où (enfin si ici je sais où tu l'as trouvé, tu l'as trouvé sur ce lien que je t'ai filé récemment) mais tu ne fais aucun effort pour essayer de comprendre ce qui est écrit. La preuve, le code donné finit sur un test print("distance de levenshtein = " + str(levenshtein("Lorem ipsum dolor sit amet", "Laram zpsam dilir siy amot"))) fait pour tester la fonction, t'as même pas eu l'idée de l'enlever pour ton programme (dans lequel ce test ne sert plus à rien). Donc on se moque de toi parce que tu es une honte pour la population de ceux qui veulent vraiment apprendre Python.

    Citation Envoyé par s2a07 Voir le message
    etes vous capable de m'expliquer pourquoi on arrive pas avec ce code a calculer la quantite sur chaque ligne
    Voilà, même là on pige que dalle. La quantité de quoi??? De pommes de terres récoltées en Australie??? T'es même pas foutu de poser une question complète et intelligible.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  18. #38
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    ok les amis je vais etre rigoureux et je vais montrer mon vraie visage lol
    pouquoi je n'ai qu'une ligne d'afficher de rockyou pour le calcul de la distance de levenshtein et jaccard j'ai le resultat que pour la premiere ligne j'aurais du mettre un tableau result je pense
    alors que je parcours toutes les lignes du dataframe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    je parcours les lignes pourtant a cet endroit 
    for i in df_result.index:
        result = get_result(df_result["id"][i],df_result["password"][i])
        Levensthein = levenshtein(df_result["id"][i],df_result["password"][i])
        jaccard = jaccard_similarity(df_result["id"][i],df_result["password"][i])
        print(result)
        print(Levensthein)
        print(jaccard)
        print(result)

  19. #39
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par s2a07 Voir le message
    alors que je parcours toutes les lignes du dataframe
    Ca c'est toi qui le dit, et visiblement pour Python ce n'est pas le cas.
    Déjà est-ce que vraiment for i in result.index signifie "je vais parcourir toutes les lignes" ??? Cela veut dire que "result.index" contiendrait donc la liste des lignes. Peut-être, peut-être pas (je ne sais pas ce qu'est "result.index" mais surtout tu ne montres pas comment tu as chargé "result"). Quoi qu'il en soit, un print(result.index) aurait permis de t'en assurer (et ça on te l'a déjà dit !!!).
    A partir de là...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  20. #40
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 321
    Par défaut
    En effet , du rigoureux

    j'aurais du mettre un tableau result
    donc tu nous dis que tu codes in truc que tu n'aurrais pas du faire ? rigoureux en codage ! et pourquoi ne pas avoir des champs pour les résultats dans ta table ? (pas trouvé le code sur le web?)

    j'ai le resultat que pour la premiere ligne
    Tu nous dis que ta boucle ne s'exécute qu'une fois ? (pas clair)
    Donc rien à voir avec tes calculs. Tu as fait un bond en arrière de 15 jours ?

    Mais puisque tu ne nous donne aucune sortie : on a aucune idée de ton véritable problème avec ton bout de code (même si il était complet)

    -----------
    Décompose ton code, essaye de tester une seule chose à la fois TON ERREUR avec un autre script de test le plus minimal possible (sur ta db ou tes calculs ???)

    par exemple (pour calcul pas ta db)
    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
    def levenshtein(login: str, mot_de_passe: str):
        return sum(ord(x) for x in login) % sum(ord(x) for x in mot_de_passe)    # pas pour toi
     
    colnames = ['id', 'password', 'levensthein']
    df = pd.DataFrame([    # a modifier selon ton véritable format
                       ['pierre', '123', ''],
                       ['paul', 'admin', ''],
                       ['root', 'root', '']], columns = colnames)
     
    pd.set_option('display.max_rows', 6)
    print(df)
    for i in df.index:
        print(i, end=" ") # boucle est ok ?
        print(df["id"][i], end=" ")    # une valeur dans table ? ou pas toujours la même valeur ?
        lev_result = levenshtein(df["id"][i], df["password"][i])
        # df["levensthein"][i] = lev_result
        print("levensthein:", lev_result)
        if i>5:  # si utilise plus tard la véritable db
            break
    print(df)

Discussions similaires

  1. AttributeError: 'int' object has no attribute 'count'
    Par camvac dans le forum Général Python
    Réponses: 3
    Dernier message: 16/05/2013, 14h32
  2. Ftp : 'str' object has no attribute 'read'
    Par noquioz dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 02/01/2009, 15h46
  3. x object has no attribute y (PyQ4t et QLineEdit)
    Par EricStib dans le forum PyQt
    Réponses: 9
    Dernier message: 23/10/2008, 23h00
  4. Probleme : AttributeError: 'tuple' object has no attribute
    Par MrGecko dans le forum Général Python
    Réponses: 1
    Dernier message: 27/05/2007, 09h59
  5. Réponses: 2
    Dernier message: 26/05/2006, 14h48

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