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 :

trouver le chiffre manquant d'une suite grâce à python ?


Sujet :

Python

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut trouver le chiffre manquant d'une suite grâce à python ?
    bonjour,

    j'ai un tableau qui contient cela :

    F12014030001
    F12014030002
    F12014030003
    F12014030005

    y-a-t-il un moyen ou une fonction tableau existante qui permette de trouver le chiffre manquant F12014030004 , sachant quele début de la chaine est statique et que seules les 4 derniers chiffres sont itératifs.

    une idée pour ce casse-tête ?

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme ça?

    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
    liste = ["F12014030001", "F12014030002", "F12014030003", "F12014030005", "F12014030009", "F12014030013", "F12014030015"]
     
    i = 0
    for elem in liste:
        i += 1
        while elem!="F1201403%04d" % i:
            print "manque F1201403%04d" % i
            i += 1
     
    manque F12014030004
    manque F12014030006
    manque F12014030007
    manque F12014030008
    manque F12014030010
    manque F12014030011
    manque F12014030012
    manque F12014030014
    On suppose que les éléments sont triés.

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    merci pour cette solution, je vais l'essayer.

    mais à première vue, elle va me sortir la dernière facture (car il n'y a pas logiquement de f+1).
    et si deux factures de numéros consécutives ont été supprimées, cette procédure me sortira que le premier trou.
    je devrais alors relancer la procédure pour trouver le second trou.

    merci.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Michael REMY Voir le message
    mais à première vue, elle va me sortir la dernière facture (car il n'y a pas logiquement de f+1).
    et si deux factures de numéros consécutives ont été supprimées, cette procédure me sortira que le premier trou.
    je devrais alors relancer la procédure pour trouver le second trou.
    A priori non: c'est l'intérêt du "while": s'il manque 5 factures consécutives, le code les sortira toutes! J'avais choisi mon exemple pour cela.

  5. #5
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    F12014030010 et F12014030015 ne sont pas détectés manquant dans ton exemple

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Regarde mieux l'exemple que j'ai pris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste = ["F12014030001", "F12014030002", "F12014030003", "F12014030005", "F12014030009", "F12014030013", "F12014030015"]
    Tous les manquants sont bien trouvés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    manque F12014030004
    manque F12014030006
    manque F12014030007
    manque F12014030008
    manque F12014030010
    manque F12014030011
    manque F12014030012
    manque F12014030014

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    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 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Michael REMY Voir le message
    F12014030010 et F12014030015 ne sont pas détectés manquant dans ton exemple
    Bonjour
    T'as fait l'effort de lire (à défaut de tester) ? F12014030015 ne fait pas partie des manquants
    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]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête pour trouver un ID manquant dans une table
    Par pol2095 dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/07/2014, 15h53
  2. Numéro manquant d'une suite numérique
    Par afrodje dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/11/2008, 17h45
  3. Trouver une image contenue dans une autre, grâce aux descripteurs
    Par ForgetTheNorm dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 23/08/2008, 17h44
  4. Comment trouver les valeurs manquante d'une série ?
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/10/2006, 09h38
  5. Trouver une suite de caractères
    Par ArHacKnIdE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2006, 15h36

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