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 :

Liste de listes, denombrements d'occurence de sequence dans un string, methode .append et + [Python 3.X]


Sujet :

Python

  1. #21
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Tu recommences avec tes exemples qui fonctionneront avec la méthode count.

    Pour voir si ça fonctionne, testes avec l'exemple assesses


    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  2. #22
    Membre à l'essai
    Homme Profil pro
    aquaboniste
    Inscrit en
    Octobre 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : aquaboniste

    Informations forums :
    Inscription : Octobre 2014
    Messages : 41
    Points : 10
    Points
    10
    Par défaut ok
    ok merci beaucoup pour tes instructions.
    Ca commence a s'eclaircir tout doucement.

  3. #23
    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,

    La solution de cet exercice devrait être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    needle=input()
    haystack=input()
    counter=0
    for i in range(0,len(haystack)):
      if(haystack[i:len(needle)+i]!=needle):
         continue
      counter=counter+1
    print(counter)
    L'objectif étant de vous apprendre à maîtriser l'utilisation de séquences (haystack[i:len(needle)+i]) qui pourront être appliqué à n'importe quel objet de type "sequence".
    On vous propose de travailler sur des chaînes de caractères car c'est plus facile de visualiser ce qu'il se passe mais on peut construire des séquences de n'importe quel type d'objets.

    Les méthodes .find, .counter sont du savoir-faire de programmeur en boîte.
    Elles permettent au programmeur d'éviter d'avoir à ré-écrire des fonctionnalités de base pour utiliser celles des bibliothèques Python.
    Savoir quelles sont les méthodes d'une classe comme "str" et comment les utiliser est une bonne chose mais c'est pour plus tard: lorsque vous saurez codez ces fonctions simples par vous même.

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

  4. #24
    Membre à l'essai
    Homme Profil pro
    aquaboniste
    Inscrit en
    Octobre 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : aquaboniste

    Informations forums :
    Inscription : Octobre 2014
    Messages : 41
    Points : 10
    Points
    10
    Par défaut @wizkitriks
    Ma premiere esquisse etait pas mal mais il fallait que j'arrive a faire des sous strings de longueur needle comme:
    asse
    sses
    sess
    esse

    ou:
    tr
    ra
    an
    ns
    sp
    pa
    an
    na
    am
    ma
    an
    ni
    ia
    an
    b
    ba
    an
    na
    an
    na
    as

    mais ca n'a pas marche
    c'etait dans ce but que je voulais transformer les strings en listes, pour avoir des listes du second degre, chose impossible en strings()

    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
    """
    maintenant tu comprendras ce que je voulais faire O grand wiztricks
    """
     
     
     
    # On introduit les deux variables de chaine
    needle = input("segment = ")
    haystack = input("chaine = ")
    # On nomme leurs longueurs respectives.
    l = len(needle)
    h = len(haystack)
    # On transformes les variables en listes.
    aiguille = list(needle)
    botte_de_foin = list(haystack)
    print("La liste mineure est: ", aiguille)
    print("La liste majeure est: ", botte_de_foin)
    # on initialise la liste des listes candidats. Ce devrait etre une liste de second degre
    #comportant comme elements des candidats a etre "aiguille".
    nouvelle = []
    # On initialise le nombre de candidats selectionnes a zero.
    total = 0
    for item in  botte_de_foin[0: h - l]:
    # chaque premier element de liste candidate est passe en revu dans l'ordre
    # nous avons pris soin de ne pas y inclure les derniers elements de botte de foin
    # trop proches de la fin pour initier un candidat de longueur l.
        p =  botte_de_foin.index(item)
     
        candidat =  botte_de_foin[p: p + l]
        print("candidat = ", candidat)
        nouvelle
        if candidat == aiguille:
            # on ajoute a la liste nommee nouvelle un element, lui
            # meme etant une sous-liste, nommee candidat
            nouvelle = nouvelle + (candidat)
            print (nouvelle)
            print ("le nombre d'occurences est: ", len(nouvelle))


    Et le seul probleme majeur etait que ce programme ne creait pas de liste de listes.
    Je l'ai tourne sous plusieurs formes et ca n'a pas marche.
    Et personne ne m'a explique pourquoi ca ne fait pas des listes de listes! (Vous me direz... personne n'est oblige de le faire non plus)

  5. #25
    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 sirelion Voir le message
    Et le seul probleme majeur etait que ce programme ne creait pas de liste de listes.
    Je l'ai tourne sous plusieurs formes et ca n'a pas marche.

    Et personne ne m'a explique pourquoi ca ne fait pas des listes de listes! (Vous me direz... personne n'est oblige de le faire non plus)
    Ca pourrait faire une liste de "str", mais liste de liste de quoi?
    On ne peut pas essayer de vous expliquer ce qu'on ne comprend pas.
    D'autant que passer par là, n'est pas une solution évidente du problème posé

    En français, pour trouver toutes les sous-chaines "needle" dans "haystack", on découpe haystack en sous-chaines de même longueur que needle et on compare.

    C'est tout ce que fait le bout de code que j'ai posté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in range(0,len(haystack)):
      if(haystack[i:len(needle)+i]!=needle):
         continue
    Et comme on ne peut pas à prendre le temps de comprendre les objectifs pédagogiques d'un tuto., on vous proposera une solution de programmeur pas une solution à l"exercice.

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

  6. #26
    Membre à l'essai
    Homme Profil pro
    aquaboniste
    Inscrit en
    Octobre 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : aquaboniste

    Informations forums :
    Inscription : Octobre 2014
    Messages : 41
    Points : 10
    Points
    10
    Par défaut @wiztricks
    C'est magnifique
    Merci beacoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Toutes versions] Trouver dans une liste de nombre la première occurence libre
    Par possible924 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/09/2014, 14h02
  2. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  3. Liste de listes
    Par SteelBox dans le forum Prolog
    Réponses: 5
    Dernier message: 16/10/2005, 16h21
  4. acceder au n iéme element d'une liste std::list
    Par sorari dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/03/2005, 15h21
  5. [langage] tri avancé, liste de listes
    Par schnecke dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2004, 14h00

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